Gerald 9 лет назад
Родитель
Сommit
2f69b4a798
2 измененных файлов с 16 добавлено и 7 удалено
  1. 4 4
      src/popup/views/item.html
  2. 12 3
      src/popup/views/item.js

+ 4 - 4
src/popup/views/item.html

@@ -1,7 +1,7 @@
-<div class="menu-item" :class="[options.className,{disabled:options.disabled}]" :title="options.title||options.name">
-  <div class="menu-item-detail" v-if="options.detailClick" @click="detailClick">...</div>
+<div class="menu-item" :class="[data.className,{disabled:data.disabled}]" :title="data.title||data.name">
+  <div class="menu-item-detail" v-if="data.detailClick" @click="detailClick">...</div>
   <div class="menu-item-label" @click="onClick">
-    <svg class="icon"><use :xlink:href="'#'+options.symbol"/></svg>
-    {{options.name}}
+    <svg class="icon"><use :xlink:href="'#'+data.symbol"/></svg>
+    {{data.name}}
   </div>
 </div>

+ 12 - 3
src/popup/views/item.js

@@ -13,14 +13,23 @@ module.exports = {
   props: ['options'],
   template: cache.get('./item.html'),
   data: function () {
-    // make options reactive
     return {
-      reactiveOptions: this.options,
+      data: {},
     };
   },
+  watch: {
+    options: 'update',
+  },
   methods: {
+    update: function () {
+      this.data = this.options;
+      this.init();
+    },
+    init: wrapHandler('init'),
     onClick: wrapHandler('onClick'),
     detailClick: wrapHandler('detailClick'),
   },
-  mounted: wrapHandler('init'),
+  mounted: function () {
+    this.update();
+  },
 };