vuex的使用:为什么我可以在js中这样修改state的值

官网是这样说的

你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit)
mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

但是在我的项目中我这样写

var list = this.$store.state.records;
for(let i=0;i<list.length;i++){ 
   list[i].days = this.computeDayas(list[i].time);
}

通过vuex-devtools发现state中的records多出了days的一个属性!?,这是为什么呢?我并没有显示的去修改数据啊


摇曳的蔷薇
浏览 2971回答 2
2回答

小怪兽爱吃肉

使用严格模式:const store = new Vuex.Store({     // ...options     strict: process.env.NODE_ENV !== 'production', // 在非生产环境下,使用严格模式})

慕尼黑5688855

对象引用而已, 这样加进去的数据, 不会触发视图更新
打开App,查看更多内容
随时随地看视频慕课网APP