学习参考:计算属性和侦听器 | Vue.js
compute 计算属性 有缓存, 默认get 方法 也可以设置 set方法;当一个值需要依赖多个值的变化 这个时候用computed 比较简单
computed: {
newData: {
set(val) {
console.log('set新数据', val)
this.callbacks = val
},
get() {
console.log('get新数据')
return this.callbacks.length > 0 ? '显示':'隐藏'
}
}
}
使用的时候就是 this.newData = xxxxxx
就会先调用set方法 改变callbacks的值 进而调用get改变newData 的真正值
watch:
一般监听的是属性已经在data中已经定义
没有缓存属性 默认监听属性的方法有两个参数(newV, oldV)
watch: {
newData(newV, oldV) {
}
}
还有另外一种写法 对象
watch: {
newData: {
handler(newV, oldV) {
},
immediate:true, // 立马执行
deep: true // 深度监听
}
}