【Vue】vue中对象赋值但是视图不更新的问题

图1:
【Vue】vue中对象赋值但是视图不更新的问题
图2:
【Vue】vue中对象赋值但是视图不更新的问题
图3:
【Vue】vue中对象赋值但是视图不更新的问题
图4:
【Vue】vue中对象赋值但是视图不更新的问题
图5:
【Vue】vue中对象赋值但是视图不更新的问题

RT,当前赋值方式是直接将一个对象赋值给另一个对象,因为是要将一个表单修改掉,我因为测试需要,把index写死掉了【图4是为了可以看到Form和Table的关系所以选了第5条,不是第0条,请略过这个细节】,这个Table是嵌套在Dialog里面的,现在测试控制台输出的两次结果不同,说明确实赋值成功了,但是视图不知为啥没更新,还是原先的样子【见图1~4】

但是如果写成 “对象.属性” 这样的赋值就可以触发视图更新【见图5】

求大佬。。。

回答

这样肯定没问题 this.$set(this.tableData,index,obj); 将tableData里面下表为index的元素用obj 进行替换;
let obj = Object.assgin({},this.tableData[index]); 后面你修改obj就好了,最后this.$set(this.tableData,index,obj)

ES5中无缝对数组变化进行监听。所以在vue中使用 array[0] = 1 视图是不会同步变更的,应该使用数组变异方法 splice,pop,push等方法进行数组修改,或者使用vue自带的 this.$set(array, index, data) 进行数组修改
比如:
this.data.splice(0,1, 100)
this.$set(data, 1, 100)

以上是 【Vue】vue中对象赋值但是视图不更新的问题 的全部内容, 来源链接: utcz.com/a/81853.html

回到顶部