单页面应用深层数据修改,页面不刷新的问题

vue

例如这种代码就是不会触发页面更新的。

change: function(index) {//增加性别属性
     this.list[index].sex = '男';
},

应改为最好用$set方法,这样vue就可以知道发生了变化

change: function(index) {//增加性别属性
     this.$set(this.list[index],'sex','男')
},

可是如果我们不想利用$set去设置,非要按照我们第一种方式去写,可以实现么?答案是可以的,就是利用$forceUpdate了,因为你修改了数据,但是页面层没有变动,说明数据本身是被修改了,但是vue没有监听到而已,用$forceUpdate就相当于按照最新数据给渲染一下。

官网是这么说的:https://cn.vuejs.org/v2/api/#vm-forceUpdate

react forceUpdate

forceUpdate就是重新render

你可能感兴趣的:(单页面应用深层数据修改,页面不刷新的问题)