问题遇到的现象和发生背景
vue 切换子组件,watch监听失效
问题相关代码,请勿粘贴截图
watch:{
requestOver(val){
if (val == this.requestAll) {
this.templateList.map((item) => {
if (item.getData) {
this?.item.getData;
}
});
this.loading = false;
this.$emit(‘overRequest’, ‘activeequity’);
}
}
}
运行结果及报错内容
首次进入时监听一切正常,当切换子组件后返回,watch失效;
我尝试过的方法
开始以为是自己方法调度的问题,后来添加额外对监听参数的调度,控制台打印数据变化,watch没有监听到任何变化
我的解答思路
使用命令式的 vm.$watch API 来监听就可以解决
我想要达到的结果
为什么watch在切换组件返回后失效?为什么我的部分子组件的监听没有失效?为什么相同的逻辑有的失效,有的不失效?
注:监听的数据requestOver为number类型,所以不存在对复杂数据类型的深层监听