
2.获取vuex中的数据
3.设置vuex中的数据
4.刷新之后,保留数据
数据结构
index.js
transaction.js模块
注意:namespaced是为了解决不同模块命名冲突的问题,分两种情况来写
获取vuex中的数据
设置vuex中的数据
如果将namespaced设置为false,则需要注意命名不能重复
也可以使用mapState,mapGetters,mapActions
安装
修改index.js配置,将数据保存到sessionStorage
Vuex其实就是一个状态管理工具,所谓的状态,就是数据,通过这个工具进行管理某些数据。当多个组件都需要同一个数据时,可以将这个数据交给Vuex进行统一的管理,组件可以直接引用这个数据,避免了组件间繁琐的层层传递的情况。
Vuex有五大核心,state,getter,mutation,action,module。state用来存放要被管理的数据,getter相当于computed计算属性,mutation中用来定义要修改state中数据的方法,action中用来定义异步的一些方法,module可以将多个store分成一个一个的模块。
以上就是vuex大致的使用方法
全文转自: 辰漪博客
vuex适合用于多组件共享数据的情况,多个组件都能读,也都可以改。
vuex的执行流程:
安装
使用
vuex是一个插件,所以需要Vue.use
注册了vuex,我们就可以在vue里配置store了
getters
这里多了个配置 getters ,他可以看作是基于state的computed属性。使用的方式基本如下:
同时getters还可以配置成函数,方便我们动态传参,满足一些复杂一点的场景
调用
模块化store
随着项目迭代,需求的扩展,你的store会变得越来越臃肿,建议模块化拆分store
以上就是一些对象的拼装,但是模块要放到名为modules的属性内部,store的最终结构大致如下:
模块的命名空间
默认模块的state、getter等属性都会合并到根级别,如果你希望模块有更好的封装性,避免多模块命名污染,可以配置上命名空间属性namespace:true
使用了模块命名空间后,action和getter内部常规用法只能访问本命名空间的dispatch,commit或者getter,如果要访问全局命名空间,需要使用额外的参数和配置:
模块动态注册
在 store 创建之后,你可以使用 $store.registerModule 方法注册模块
如果大多场景下,你的模块化store并不会被使用,只在你的业务流程页面中被用到,这时可以考虑在合适的生命周期节点(比如created)动态注册你的模块。同时要注意先检查模块是否已经被安装: $store.hasModule(moduleName) ,避免重复注册模块,不然会出现逻辑问题。你也可以卸载自己的模块: $store.unregisterModule(moduleName)
官方文档
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)