对象的某个子孙属性修改后, 界面未改变
原因: vue有时会无法监听到对象的子孙属性变化, 但一定会监听到data本身的变化
解决方案: 直接更新整个对象
// 原始更新方式可能为:
this.obj.fieldName = '新值';
// 改为如下方式
this.obj = {...this.obj, fieldName:'新值'}
在created方法, 使用vuex的getter更新data, 界面未改变
情景模拟: getter中属性的填充依赖于一个ajax请求结果
原因: 组件的created方法执行时, vuex的getter尚未从ajax中获取到结果
解决方案: 在组件中使用计算属性,而非在creaated方法进行初始化
删除一个数组元素后,界面的整体值内容都往前移动了一位,要删除的项却没有删除
原因: 因为key
使用的是循环时的index
值, 所以当删除非最后一项时, key
值实际没变,所以vue实际执行的是更新dom
节点,而非删除指定dom
节点
解决方案:使用唯一key
, 避免使用循环时的index
值作为key
网友评论