data变化视图渲染

受vue(或者说是js本身的特质)机制限制,vue在读取原始数据之后,后续如果通过js对该数据的字段,进行添加或者删除,那么页面视图就不会重新渲染,因此需要创建一个新对象。

有两种方法可以解决:

第一种方法,使用Object.assign

this.item[index].isShow = false;
this.item = Object.assign({}, this.item);

使用第一种方法的缺点是(其实也不算缺点),就是每一次需要改变数据的时候,都要将Obj.assign写一次,有点麻烦。

第二种方法,使用Vue.set

this.$set(this.itemList[index], 'isShow', !this.itemList[index].isShow)

用第二种,写一行就可以了,就相当于改变原始数据(不增减字段)的this.itemList[index].isShow = !thsi.itemList[index].isShow

给TA买糖
共{{data.count}}人
人已赞赏
vue

vue中的ajax

2018-6-5 1:06:48

vue

路由只能访问首页

2018-6-13 12:01:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索