Vue 如何监听数组变化


监听方式包含两部分

 

一,通过重写data 对象中Array原型上的方法,push/pop/shift/unshift/soft/reverse/splice,当调用这些方法修改数组时,会触发更新

二,通过defineproperty这个方法,不能监听到this.list[1] = 100;this.list.length = 0;这两种修改数组的方式,所以要通过Vue.set(this.list, 0, 100)或者this.list[0] = 100;this.list.splice(0, 0);手动刷新下才行。

但是[{name: 'pig'}],修改this.list[0].name = '占山';这个时会触发更新的,因为它遍历了数组,如果是对象,会observe它。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM