问题 :
代码如下,执行代码后, handler 函数会执行,输出 undefined。但是this.$set(this.data, 'checked', true); 这行代码操作的是 data对象并没有操作 children 属性。为什么会触发 handler 函数?
<script>
export default {
name: "watch",
data () {
return {
data: { // 初始值没有 children 属性
title: '哈哈'
}
}
},
watch: {
'data.children': { // 在这里监听 children 属性
handler: function (value) {
console.log(value);
},
deep: true //深度监听
}
},
mounted () {
// 给 data 添加新的属性 checked 并赋值为 true
this.$set(this.data, 'checked', true);
}
}
</script>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…