老师,请问为啥通过m.list[1] = {id: "....",text:"dell1"}不可以刷新页面数据?

来源:3-8 Vue中的列表渲染

K丶L

2018-04-15

老师,请问为啥输入vm.list[1].text = "Dell1"可以刷新页面中的dom数据,而vm.list[1] = {id: "....",text:"dell1"}不可以,是因为直接按索引修改数组不会触发defineproperty中的set而导致无法触发vue的响应式系统?

写回答

1回答

Dell

2018-04-15

是的,因为后者你直接就给引用改了,新的引用对应的对象vue并不处理,所以对象是没有setter和getter的,也就不会跟页面做绑定

0
7
Dell
回复
慕莱坞0998854
因为它只能该知道最外层的这个对象引用的改变
2019-07-14
共7条回复

Vue2.5-2.6-3.0开发去哪儿网App 零基础入门到实战

课程紧跟Vue3版本迭代,企业主流版本Vue2+Vue3全掌握

10675 学习 · 8191 问题

查看课程