学习十八、VueX 状态管理

VueX 状态管理

一、什么是 VueX

- Vuex 是专门为 Vue. js 设计的状态管理库

- Vuex 采用集中式的方式存储需要共享的状态

- Vuex 的作用是进行状态管理,解决复杂组件通信,数据共享

- Vuex 集成到了 devtools 中,提供了 time-travel 时光旅行历史回滚功能

  import Vue from' vue
  import Vuex from' vuex
  Vue.use (Vuex)
  export default new Vuex.Store({
      state: {},
      getters: {},
      mutations: {},
      actions: {},
      modules: {},
  })

  computed: {
    ...mapState({ num: 'count',message: 'msg' }),
    ...mapGetters([ reverseMsg' ] )
  },
  methods: {
    ...mapMutations([ 'increate' ]),
    ...mapActions([ 'increateAsync' ])
  },

  使用 $store.commit 触发 mutation,

  使用 $store.dispatch 触发 action,

 

二、什么情况下使用 VueX

- 非必要的情况不要使用 Vuex

- 大型的单页应用程序

  - 多个视图依赖于同一状态

  - 来自不同视图的行为需要变更同一状态

 

三、VueX 插件介绍

- VueX 插件就是一个函数

- 这个函数接受一个 store 参数

export default new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    products,
    cart
  },
  plugins: [myPlugin]
})

const myPlugin = store => {
  store.subscribe((mutation, state) => {
    if (mutation.type.startsWith('cart/')) {
      window.localStorage.setItem('cart-products', JSON.stringify(state.cart.cartProducts))
    }
  })
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值