我之前是这么使用的:

this.form = this.$store.state.common.searchFormData;

form是检索表单,每次进入页面从vuex中取出进行初始化,但是在搜索表单中进行修改时,控制台报错,即[vuex] Do not mutate vuex store state outside mutation handlers.

报错原因:更改 Vuex 的 store 中的状态的唯一方法是提交 mutation,这是官网原话。意思是state中的值必须在回调函中更改,而我们上边的赋值其实是深度赋值,表单中的值改变会触发vuex中state的值变化,所以才会报此错误。

解决方案:

1、传入的参数进行处理,即使用

this.form=Object.assign({},this.$store.state.common.searchFormData);

进行对象的浅拷贝,这样就不会触发vuex中state的值。

2、报以上错误是因为开启了严格模式、即strict:true了,所以你可以把这个关闭false即可。

注意:生产环境中必须设置strict:false

strict
strict

[vuex] Do not mutate vuex store state outside mutation handlers.相关推荐

  1. Do not mutate vuex store state outside mutation handlers.

    组件代码: selectItem(item,index) {this.selectPlay({list: this.songs,index}) }, ...mapActions(['selectPla ...

  2. 解决this._data.$$state...“Error: [vuex] do not mutate vuex store state outside mutation handlers.“ 报错

    今天遇到了这样一个报错: [Vue warn]: Error in callback for watcher "function () {return this._data.$$state; ...

  3. vue报错:Error: [vuex] Do not mutate vuex store state outside mutation handlers.

    报错原理解读 Error: [vuex] Do not mutate vuex store state outside mutation handlers. 该报错从文本意思理解还是很清晰的,不要在m ...

  4. 操作vuex中的数据报错 Do not mutate vuex store state outside mutation handlers

    上一篇博客有提到直接改变vuex中的值会报错,现在详细记录一下这个错误,首先看一下错误 这是因为直接操作vuex中的数据没有通过mutations去更新state而报的错误,如果在一个组件中初始化数据 ...

  5. VUEX 报错:Do not mutate vuex store state outside mutation handlers.

    利用空闲事件做音乐webapp的时候出错了,记录下问题 mutaitions action: 组件代码 问题出在了 payload ,在这的 list 是一个数组,是一个引用类型,所以就有可能在 vu ...

  6. vuex使用模块的时候 获取state里的数据语法

    普通语法 this.$store.state.[哪个数据] 模块化语法: this.$store.state.[哪个模块].[哪个数据] <template> <div class= ...

  7. vue2项目复习01-关闭elint检校,src文件别名,路由传参的对象写法,代理解决跨域问题,nprogress,vuex状态管理库,store的模块式开发,节流与防抖,编程式导航+事件委托路由跳转

    1.关闭elint语法校验 创建vue.config.js //关闭elint语法校验 {lintOnSave:false; } 2.src文件夹配置别名 jsconfig.json配置别名 @代表s ...

  8. vuex第三弹vuex之actions(前端网备份)

    index.js 首先在store里面有两种写法 乍一眼看上去感觉多此一举,我们直接分发 mutation 岂不更方便?实际上并非如此,还记得 mutation 必须同步执行这个限制么?Action ...

  9. vuex的基本应用(vuex的购物车案例)

    vuex的基本应用 概念 ​ vuex是一个专门为vue应用程序开发的状态管理模式,"vuex采用集中式存储,管理vue应用的所有组件的状态,并以相应的规则保证状态以一种可以预测的方式发生变 ...

最新文章

  1. 怎么监控一个接口的传输数据_监控安装超详细教学教程,学会又多一门技能
  2. 双系统XP和ubuntu,升级ubuntu出现no such device grub rescue
  3. 斐波那契数列取模(大数)分治算法
  4. 《漫画算法2》源码整理-9 股票交易最大收益
  5. appium---【Mac】appium-doctor提示WARN:“fbsimctl cannot be found”解决方案
  6. 现代制造工程-考试复习02
  7. python 二——函数、装饰器、生成器、面向对象编程(初级)
  8. 湖北师范大学计算机应用基础,2019年湖北师范大学911计算机应用基础考研大纲...
  9. BMP 转 YUV (BMP2YUV)
  10. 基于先验LiDAR点云地图的单目VIO定位
  11. python雨课堂课后答案_有没有免费查网课雨课堂答案的公众号或者软件啥的
  12. 15个常用excel函数公式_工作中常用的excel函数公式大全,拿来即用!
  13. VXlan 技术实现原理
  14. Vue基础案例-----Todos(1)
  15. Sublime 查看Json格式数据
  16. 命令行启动burp报错:-Xbootclasspath/p is no longer a supported option.解决方法(Mac )
  17. 重磅!2021泰晤士世界大学排名公布,中国137所高校上榜!
  18. 扇贝python离线_Python项目:扇贝网小组查卡助手
  19. java输出一个对象_java里面直接输出一个类的对象
  20. MySQL数据库的四种登录方式

热门文章

  1. 【独立站运营】营销邮件被判定为垃圾邮件?四个方法教你避开
  2. AI数学基础(2)--- 霍夫丁不等式
  3. [转载]圣人的35个习惯
  4. 听好程序员一句劝!零基础这样学Java才是正确的方式!
  5. 录音转文字,怎么把手机录音转文字
  6. 微软SQL Server2012增长对Hadoop的支撑
  7. 2038年危机!“Unix千年虫”
  8. 4.list和tuple的使用
  9. SQL server服务显示远程过程调用失败的解决方法
  10. 内置模块:http模块