vue深度监听(监听对象和数组的改变)与立即执行监
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要介绍了vue深度监听(监听对象和数组的改变)与立即执行监听实例,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
1.vue中监听对象数据属性值的改变,可以使用深度监听
data () { return { form: { status: '', cpufrequency: '', systemstacksize: '', scalabilityclass: '' } } }, watch: { form: { // 深度监听 handler(val, oldVal){ console.log('currentForm',val, oldVal) // 这两个值打印出来却都是一样的,因为它们的引用指向同一个对象/数组 }, deep:true } }
注意我们应尽量避免在监听方法中更改当前监听对象的属性值,以免触发监听函数
2.若只监听某个或部分属性值的变化,则可以配合计算属性puted来解决
data () { return { form: { status: '', cpufrequency: '', systemstacksize: '', scalabilityclass: '' } } }, puted: { status() { return this.form.status } }, watch: { status() { console.log('currentVal', this.status) } }
,上面这种方法会多出一个计算属性,并不是最好的方法,通过查看官方api,其实还有一种方法
data () { return { form: { status: '', cpufrequency: '', systemstacksize: '', scalabilityclass: '' } } }, watch: { 'form.status'(val, oldVal) { console.log('currentVal', val) } }
3.取消监听
var unwatch = vm.$watch('a', cb) // 返回一个取消监听函数
unwatch() // 取消观察函数
4.立即触发监听
我们有时会有这个需求,在页面初始化时执行某个监听。,我们可能会在 created 中去调用需要执行的监听代码,但现在我们可以使用 immediate 来实现这个功能。
watch: { 'form.status'() { handler(val, oldVal) { // 执行一些操作 }, immediate: true } }
补充知识vue watch监听数据,新老值一样?让其不一样吧!
我就废话不多说了,大家还是直接看代码吧~
data:{ testData:{ dataInfo:{ a: '我是a', b: '我是b' } } }, watch: { testData: { handler: (val, olVal) => { console.log('我变化了', val, olVal) }, deep: true } }
如果testData发生了变化,就会打印出val,olVal,他们打印出来的结果都是一样的,因为数据同源。虽然可以监听到他的变化,要比较数据差异就不行了。如果想要得到不同的值可以结合计算属性。
data:{ testData:{ dataInfo:{ a: '我是a', b: '我是b' } } }, watch: { testDataNew: { handler: (val, olVal) => { console.log('我变化了', val, olVal) }, deep: true } }, puted: { testDataNew() { return JSON.parse(JSON.stringify(this.testData)) } }
以上这篇vue深度监听(监听对象和数组的改变)与立即执行监听实例就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南