我有一个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);
}
},
}
}