vue-watch中的deep,immediate区别
程序员文章站
2022-03-29 13:57:34
...
watch中有immediate和handler 2个属性
immediate
这样使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行。如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。
比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true
immediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在watch中声明的时候,就立即执行handler方法,值为false,则和一般使用watch一样,在数据发生变化的时候才执行handler。
new Vue({
el: '#root',
data: {
cityName: ''
},
watch: {
cityName: {
handler(newName, oldName) {
// ... },
immediate: true
}
}
})
使用 deep 深度监听 (对象里面的属性值发生改变)
如果 cityName对象中id或 name 任意一个属性值发生变化,都会触发监听
new Vue({
el: '#root',
data: {
cityName: {id: 1, name: 'shanghai'}
},
watch: {
cityName: {
handler(newName, oldName) { // ... },
deep: true,
immediate: true
}
}
})
推荐阅读
-
node.js中fs.stat与fs.fstat的区别详解
-
java中String与StringBuilder的区别
-
Java中关于int和Integer的区别详解
-
SQLserver中字符串查找功能patindex和charindex的区别
-
微信小程序 数组中的push与concat的区别
-
android中Invalidate和postInvalidate的更新view区别
-
Spring Boot 中application.yml与bootstrap.yml的区别
-
详解HTML5中div和section以及article的区别
-
老生常谈jquery中detach()和remove()的区别
-
php中require和require_once的区别说明