vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue $store.commit() undefined报错

vue使用$store.commit() undefined报错的解决

作者:老唐在线铲屎

这篇文章主要介绍了vue使用$store.commit() undefined报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue使用$store.commit() undefined报错

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘commit’)

这里我想把token和userInfo分别存入sessionStorage和LocalStorage中,登录提交的时候报commit undefined

问题所在,我们没有在全局中配置store,解决办法如下

在main.js中配置store即可

成功存储

vuex的this.$store.commit

在这里将介绍store的mutations和modules模块化…

简单的vue项目,父子组件之间的数据传递可以使用props或者$emit等方式传递,大中型项目,需要在不相关的平行组件之间传递数据,并且很多数据需要多个组件循环使用。

再使用上面方式会让项目代码冗余,不利于组件复用。

modules模块化

当项目比较大时,一个store数据会非常多而杂,不易管理。可以建立多个“子仓库”,分别对应不同模块做数据的读取和操作。

1、在store下新建modules文件夹,在modules下新建user.js和common.js两个"子仓库"。

2、common.js管理主页下的数据,user.js管理用户信息数据:

3、将“子仓库"挂载到主仓库:

在main.js文件中注册store

这样就可以在任意组件中使用store中的数据,即使用计算属性返回store中的数据到一个新属性上,然后在模板中使用这个属性值:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文