watch和computed的区别

该文摘自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),进行复杂的值计算,这些值将绑定到依赖项值。这些计算将被缓存,并且只在需要时更新

举个

上一篇:2021-06-02


下一篇:Vue基本使用