vue学习笔记四
企业级解决方案
vuex
vuex用于解决大量的、复杂的组件间共享数据的问题
通过new Vuex.Store(配置对象)创建仓库,通常,一个vue应用,对应一个仓库
配置对象中,可以配置下面的内容:
- state:仓库的默认状态
- mutations:配置的是状态有哪些变化,mutaion是状态变化的唯一原因
- mutaion的参数
- state
- payload
- 不可以直接调用mutaion,必须通过
仓库对象.commit进行调用- 参数1:mutaion的名称
- 参数2:payload
- mutation函数中不可以出现异步等副作用操作
- 没有ajax
- 没有dom处理
- 没有外部数据处理
- 没有当前时间
- 没有随机数
- mutaion的参数
- actions:配置副作用操作
- 每个action是一个函数
- 参数1:上下文对象,几乎等同于仓库对象
- 参数2:payload
- 不能直接调用action,必须通过
仓库对象.dispatch调用
- 每个action是一个函数
- modules: 配置模块
- 模块中通常都会配置namespaced,以防止命名冲突,除了模块内部,外部在触发action或mutation时,必须添加模块名(命名空间)
vuex + vue:
- 当配置了vuex后,所有vue实例都会出现一个属性: $store
- 如果组件需要使用仓库中的数据,需要使用计算属性封装,可以使用Vuex.mapState函数简化操作
浙公网安备 33010602011771号