猿问

vue computed 修改后视图上显示没有刷新

点击编辑以后,newTodos 数据已经变了,但是界面上的显示还是老的,没有出现保存按钮。

婷婷同学_
浏览 3872回答 1
1回答

摇曳的蔷薇

大概看了一下代码,你这个使用 computed 的姿势不对,computed 一般是用来做 vm 的属性的 getter 来用的,你在 edit 中直接修改 newTodos 是一种反模式,无法享受 vue 具有的响应式特性。正确的做法是应该在 edit 直接更改 this.todos 就可以了,依赖于 this.todos 的 newTodos 会因为响应式的关系自动变化。而且还有其他的问题,一般 vue 的 vm 上的属性最好一次性都声明完,并附带默认值,之后如果非要添加新属性的话,使用 Vue.set 来完成而不是直接赋值。
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答