vue2 watch 使用
时间: 2023-10-30 07:05:32 浏览: 142
在Vue2中,可以使用watch来监听对象属性的变化。使用watch的方式有以下几种方法:
1. 直接在watch选项中定义要监听的属性和回调函数,当属性发生变化时,回调函数会被触发。例如:
watch: {
prop: function(newVal, oldVal) {
// 处理属性变化的逻辑
}
}
2. 使用$watch方法来监听属性的变化。可以在Vue实例上使用$watch方法,传入要监听的属性和回调函数,当属性发生变化时,回调函数会被触发。例如:
this.$watch('prop', function(newVal, oldVal) {
// 处理属性变化的逻辑
})
3. 可以使用深度观察选项deep来监听嵌套对象的变化。当对象的属性发生变化时,回调函数也会被触发。例如:
watch: {
obj: {
handler: function(newVal, oldVal) {
// 处理属性变化的逻辑
},
deep: true
}
}
另外,还可以通过监听$route对象来监听路由的变化。可以使用以下几种方式:
1. 使用$router属性进行监听:
watch: {
'$router': function(to, from) {
// 处理路由变化的逻辑
}
}
2. 使用$route属性进行监听:
watch: {
'$route': {
handler: function(to, from) {
// 处理路由变化的逻辑
},
deep: true
}
}
3. 使用方法进行监听:
watch: {
'$route': 'getRoutePath'
},
methods: {
getRoutePath: function() {
console.log(this.$route.path);
}
}
以上是Vue2中使用watch的几种方式。根据具体需求,可以选择适合的方式来监听属性的变化。
阅读全文