something about Vuex...
安装什么得应该不用多说了吧。。不会安装的点击官网链接
Vuex:https://vuex.vuejs.org/zh-cn/installation.html
引入使用:
在你的store或者vuex目录下创建一个store:
接下来是核心模块
state
mapState 辅助函数
getters
项目中我也没怎么用过,类似于计算属性
Getter 也可以接受其他 getter 作为第二个参数:
mapGetters 辅助函数去官网看吧 和mapState差不多。。
mutations
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:
你不能直接调用一个 mutation handler。这个选项更像是事件注册:“当触发一个类型为 increment 的 mutation 时,调用此函数。”要唤醒一个 mutation handler,你需要以相应的 type 调用 store.commit 方法:
payload可以是对象:
在组件中提交 Mutation
你可以在组件中使用 this.$store.commit('xxx') 提交 mutation,或者使用 mapMutations 辅助函数将组件中的 methods 映射为 store.commit 调用(需要在根节点注入 store)。
actions
Action 类似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接变更状态。
Action 可以包含任意异步操作。
Action 通过 store.dispatch 方法触发:
实践中,我们会经常用到 ES2015 的 参数解构 来简化代码(特别是我们需要调用 很多次的时候):
Actions 支持同样的载荷方式和对象方式进行分发:
在组件中分发 Action
组合 Action深入了解见官网
modules
Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter
对于模块内部的 mutation 和 getter,接收的第一个参数是模块的局部状态对象。
同样,对于模块内部的 action,局部状态通过 context.state 暴露出来,根节点状态则为 context.rootState:
领取专属 10元无门槛券
私享最新 技术干货