vue watch用法是什么

互联网 20-11-9

vue watch用法是:1、当fullName值变化时,watch监听到并且执行;2、watch执行handler方法和immediate属性;3、使用deep属性,深度监听,常用语对象下面属性的改变。

【相关文章推荐:vue.js】

vue watch用法是:

1、基本用法:

当fullName值变化时,watch监听到并且执行

<div>       <p>FullName: {{fullName}}</p>       <p>FirstName: <input type="text" v-model="firstName"></p> </div>   new Vue({   el: '#root',   data: {     firstName: 'Dawei',     lastName: 'Lou',     fullName: ''   },   watch: {     firstName(newName, oldName) {       this.fullName = newName + ' ' + this.lastName;     }   }  })

2、handler方法和immediate属性

上面的例子是值变化时候,watch才执行,我们想让值最初时候watch就执行就用到了handlerimmediate属性

watch: {   firstName: {     handler(newName, oldName) {       this.fullName = newName + ' ' + this.lastName;     },     // 代表在wacth里声明了firstName这个方法之后立即先去执行handler方法,如果设置了false,那么效果和上边例子一样     immediate: true   } }

3、deep属性(深度监听,常用语对象下面属性的改变)

<div>       <p>obj.a: {{obj.a}}</p>       <p>obj.a: <input type="text" v-model="obj.a"></p> </div>   new Vue({   el: '#root',   data: {     obj: {       a: 123     }   },   watch: {     obj: {       handler(newName, oldName) {          console.log('obj.a changed');       },       immediate: true     }   }  })

我们在在输入框中输入数据视图改变obj.a的值时,我们发现是无效的。受现代 JavaScript 的限制 (以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。

默认情况下 handler 只监听obj这个属性它的引用的变化,我们只有给obj赋值的时候它才会监听到,比如我们在 mounted事件钩子函数中对obj进行重新赋值:

mounted: {   this.obj = {     a: '456'   } }

那么我们需要监听obj里的属性a的值呢?这时候deep属性就派上用场了:

watch: {   obj: {     handler(newName, oldName) {       console.log('obj.a changed');     },     immediate: true,     deep: true   } }

这样的方法对性能影响很大,修改obj里面任何一个属性都会触发这个监听器里的 handler。我们可以做如下处理:

watch: {   'obj.a': {     handler(newName, oldName) {       console.log('obj.a changed');     },     immediate: true,     // deep: true   } }

watch的注销这里就不在多说了,实际开发中,watch会随着组件一并销毁。

相关免费学习推荐:javascript(视频)

以上就是vue watch用法是什么的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: watch用法
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:关于java中类和对象的讲解

相关资讯