Vue介绍

提供状态管理

提供组件通信

使用

image.png

Module

Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:

  1. const moduleA = {
  2. namespaced: true, // 命名空间
  3. state: { ... },
  4. mutations: { ... },
  5. actions: { ... },
  6. getters: { ... }
  7. }
  8. const moduleB = {
  9. state: { ... },
  10. mutations: { ... },
  11. actions: { ... }
  12. }
  13. const store = new Vuex.Store({
  14. modules: {
  15. a: moduleA,
  16. b: moduleB
  17. }
  18. })
  19. store.state.a // -> moduleA 的状态
  20. store.state.b // -> moduleB 的状态

mapState

  1. import { mapState } from 'vuex';
  2. computed: {
  3. ...mapState('router', [
  4. 'routers'
  5. ])
  6. },

mapActions

  1. import { mapActions } from "vuex";
  2. methods: {
  3. ...mapActions('router', [
  4. 'setRouters'
  5. ]),
  6. },