1. 使用vuex,首先cnpm下载插件。
2. 引入Vue和Vuex,Vue.use(Vuex)安装插件。
3. 在跟组件里注册:new Vue({ store })。
4. const store = new Vuex.Store({ })
store有state、mutations、actions、getters
state: 用于存储状态。
访问方式:this.$store.state.xxx 或 computed: { ...mapState(['xxx']) }
mutations: 改变store状态的唯一方法,但是必须是同步,不能异步。
访问方式:this.$store.commit('xxx',参数),但是一般是通过actions进行操作。
actions: 类似mutation,但是提交的是mutation,而不是直接变更状态;可以异步。
访问方式:this.$store.dispatch('xxx',参数)。
getters: 从state中派生出其他状态,getter的返回值被缓存,知道依赖值发生变化才会重新计算,可以认为是store的计算属性。
访问方式:this.$store.getters.xxx 或 computed: { ...mapGetters(['xxx']) }。
moudles: 将store分割模块,每个模块都有自己的state、mutation、action、getters。