脚本宝典收集整理的这篇文章主要介绍了关于Vue不能监听(watch)数组变化的解决方法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
vue实际上可以监听数组变化,比如
data () { return { watchArr: [], }; }, watchArr (newVal) { console.LOG('监听:' + newVal); }, created () { setTimeout(() => { this.watchArr = [1, 2, 3]; }, 1000); },
在比如使用splice(0,2,3)从数组下标0删除两个元素,并在下标0插入一个元素3
data () { return { watchArr: [1, 2, 3], }; }, watchArr (newVal) { console.log('监听:' + newVal); }, created () { setTimeout(() => { this.watchArr.splice(0, 2, 3); }, 1000); },
push数组也能够监听到。
但是数组在下面两种情况下无法监听
举例无法监听数组变化的情况
1、利用索引直接修改数组值
data () { return { watchArr: [{ name: 'krry', }], }; }, watchArr (newVal) { console.log('监听:' + newVal); }, created () { setTimeout(() => { this.watchArr[0].name = 'xiaoyue'; }, 1000); },
2、修改数组的长度
data () { return { watchArr: [{ name: 'krry', }], }; }, watchArr (newVal) { console.log('监听:' + newVal); }, created () { setTimeout(() => { this.watchArr.length = 5; }, 1000); },
到此这篇关于关于Vue不能监听(watch)数组变化的文章就介绍到这了,更多相关Vue不能监听数组变化内容请搜索脚本宝典以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本宝典!
以上是脚本宝典为你收集整理的关于Vue不能监听(watch)数组变化的解决方法全部内容,希望文章能够帮你解决关于Vue不能监听(watch)数组变化的解决方法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。