1、在开发过程中watch监听vuex中的属性后发现watch执行两遍,或者watch监听其他属性后执行了两次
问题描述:当公共组件,选人中
watch: {
//vxDialogData被执行了两次
vxDialogData(val, oldVal) {
if (Object.keys(val).length) {
this.onCheckScope([val.node], val); }
},
}
解决问题方法:created中使用console
//在created生命周期中输出this,看是不是打印两个实例
created() {
this.$watch("vxDialogData", (newVal, oldVal) => { console.log("@@@@", this); });
}
问题剖析:ref获取的组件在同一个根组件中被引用两次导致,在使用refs获取组件内部的方法时要注意多次使用组件,导致组件内部的方法会被挂载多次。
创建人:yinyanting