vue watch deep无效解决
2019-12-19 本文已影响0人
一包
最近写项目,子组件通过props接收父组件的数据,在子组件中使用watch监听
deep深度监听对象
当监听的是对象时,需要使用deep才能监听到对象对应属性到变化
watch: {
searchObj: {
handler(val) {
this.currentPage = 1;
this.getCommitsList(val);
},
deep: true
}
$set
但是呢!!发现还是无法监听对象到变化!!!
才发现我傻了,我直接对对象赋值
this.searchObj = todo;
这样子Vue 不能检测到对象属性的添加或删除!!!!
所以需要使用 $set
this.$set(this.searchObj, "sortCommitTime", 1);
唉,道理我都懂,就是经常忘记了哭