VUEX 简单介绍

1.vuex是什么

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:

Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

2.开始使用

  • 安装
cnpm install vuex --save
  • 开始使用
// 创建store (本例在src/strore/index.js中创建store)
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);
export default new Vuex.Store({
});

// main.js中引入store 并在创建vue实例时传入store
import store from './store/index.js';

new Vue({
  el: '#app',
  router,
  store,    // 将状态从根组件“注入”到每一个子组件中
  template: '',
  components: { App }
})

// 子组件访问store对象
this.$store  // 大部分情况我们通过辅助函数来访问(mapState/mapMutations....)store的属性或方法

3.核心概念

  • state/mapState/...mapState

    状态数据

  • getters/mapGetters/...mapGetters

    "状态数据的计算属性"

  • matation/store.commit/mapMutations

    提交mutation来改变state: store.commit
    mutation必须是同步函数

  • action/store.dispatch/mapActions

    Action 提交的是 mutation,而不是直接变更状态。
    Action 可以包含任意异步操作。

你可能感兴趣的:(VUEX 简单介绍)