为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻过高山走不出你 2019-02-12 21:19:50
官网是这样说的你不能直接改变 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的一个属性!?,这是为什么呢?我并没有显示的去修改数据啊
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

对象引用而已, 这样加进去的数据, 不会触发视图更新


查看完整回答
反对 回复 2019-02-25
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

使用严格模式:

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

官方文档地址


查看完整回答
反对 回复 2019-02-25
  • 2 回答
  • 0 关注
  • 635 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号