手动火表处理程序

时间:2018-01-24 12:55:10

标签: javascript vue.js vuejs2 vue-component

我有一个watch属性,可以监视传递给options函数的一些data

每次选项更改时,监视处理程序都会按预期触发。 现在,我还想在动态更改DOM结构时触发处理程序。

目前我正在使用一个丑陋的黑客来迫使处理程序被解雇。我正在使用&

再次设置选项
this.options.navigation = this.options.navigation & true;

有什么方法可以手动调用手表处理程序吗?类似的东西:

this.fireWatch();

我的vue文件:

  export default {
    props: {
      options: {
        type: Object,
        default: () => {
          return {};
        },
      },
    },


    watch: {
      options: {
        deep: true,
        handler() {
          this.init();
        },
      },
    },
    mounted() {
      this.init();
    },

    methods: {
      init() {
        $(this.$el).myPlugin({
          ...this.options,
          ...this.events,
        });
      },
      emitEvent(name, args) {
        // Emit event on Vue way
        this.$emit.apply(this, [camelToKebab(name), ...args]);

        // Run event's handler with non Vue way
        if (this.options.hasOwnProperty(name)) {
          this.options[name].apply(this, args);
        }
      },
    }
 }

0 个答案:

没有答案