瀏覽代碼

Breadcrumb: use provide/inject instead of this.this.$parent

Pan 7 年之前
父節點
當前提交
c8477c815a
共有 2 個文件被更改,包括 12 次插入2 次删除
  1. 5 2
      packages/breadcrumb/src/breadcrumb-item.vue
  2. 7 0
      packages/breadcrumb/src/breadcrumb.vue

+ 5 - 2
packages/breadcrumb/src/breadcrumb-item.vue

@@ -20,9 +20,12 @@
         separatorClass: ''
       };
     },
+
+    inject: ['elBreadcrumb'],
+
     mounted() {
-      this.separator = this.$parent.separator;
-      this.separatorClass = this.$parent.separatorClass;
+      this.separator = this.elBreadcrumb.separator;
+      this.separatorClass = this.elBreadcrumb.separatorClass;
       let self = this;
       if (this.to) {
         let link = this.$refs.link;

+ 7 - 0
packages/breadcrumb/src/breadcrumb.vue

@@ -17,6 +17,13 @@
         default: ''
       }
     },
+
+    provide() {
+      return {
+        elBreadcrumb: this
+      };
+    },
+
     mounted() {
       const items = this.$el.querySelectorAll('.el-breadcrumb__item');
       items[items.length - 1].setAttribute('aria-current', 'page');