Vue中 scope.row 当前数据不更新?
scope.row是代表当前行数据当我表格数据发生变化后,我发现scope.row打印后还是旧数据,没有更新但scope.row.taskId获取对应的字段却是新的 可以正常拿到,有大佬知道为什么吗
回复
1个回答

test
2024-06-27
可能是由于 Vue 的响应式机制造成的。Vue 在更新视图之前会先对数据进行检测,然后才会触发视图更新。在这个过程中,Vue 会对变动的数据进行比较,以确定变化的部分,然后更新对应的视图。scope.row 是表格行数据的引用,当数据发生变化时,Vue 可能会使用浅拷贝的方式来判断是否需要触发视图更新。因此,scope.row 对象的引用不会改变,但其中的属性值会更新。而 scope.row.taskId 则是直接访问了 scope.row 对象的属性值,因此可以获取到最新的字段值。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容