该文摘自Vue中的watch与computed,看了之后对computed更加了解。
watch
- 主要用于监控vue实例的变化,它监控的变量必须在data里面声明才可以,它可以监控一个变量,也可以是一个对象,也可以监控对象里面的属性。
- 当你想要在数据变化响应时,执行异步操作或开销较大的操作,就可以使用watch。
data() {
className: "三年级五班",
studentInfo: {
name: "王富贵",
sex: "女",
age: 21,
}
},
watch: {
// 监控单个变量
className(newVal, oldVal) {
console.log("新值:" + newVal, "旧值:" + oldVal)
},
// 监控对象
studentInfo(newVal, oldVal) {
console.log("新值:" + newVal, "旧值:" + oldVal)
},
// 监控对象的属性
"studentInfo.age"(newVal, oldVal) {
console.log("新值:" + newVal, "旧值:" + oldVal)
}
}
watch一般用于监控路由、input输入框的值特殊处理等等,它比较适合的场景是一个数据影响多个数据。
computed
- 计算属性可用于对指定的视图(View),进行复杂的值计算,这些值将绑定到依赖项值。这些计算将被缓存,并且只在需要时更新。
举个