杰网资源 Design By www.escxy.com
immediate
immediate设为true后,则监听的这个对象会立即输出,也就是说一刷新页面就会在控制台输出,当然此时页面上的数据我们还没来得及手动让其发生变化,所以在控制台输出的newValue为我们在代码中默认设置的值,oldValue输出为“undefined”。如
当我们手动改变newValue.id的值后,输出如下:
如果不设置immediate,或者将immediate设为false的话,则刷新页面后不会立即监听此对象,也就是控制台不会有输出,必须要监听的对象有值改变时控制台才会有输出。
data() {
return {
value:''
};
},
watch:{
value:{
handler:'init',
immediate:true
}
},
methods: {
init(){
alert(1)
}
}
deep设为true后,就可以深入监听了。简单点说,就是可以监听到对象里面的值的变化了
<div>
<input type="text" v-model="student.studentName">{{student.studentName}}
</div>
student:{
studentName:'xi'
}
watch:{
student:{
handler:function (newValue,oldValue) {
console.log(newValue,'new')
console.log(oldValue,'old')
},
deep:true,
immediate:true
}
}
不加deep监听不到改变
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...



