1. 安装/use
安装Vuex 之后,让我们来创建一个 store
。创建过程直截了当——仅需要提供一个初始 state
对象和一些 mutation
:
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
}
})
2. 获取/变更数据
现在,你可以通过 store.state
来获取状态对象,以及通过 store.commit
方法触发状态变更:
store.commit('increment')
console.log(store.state.count) // -> 1
3. 组件中使用
为了在Vue
组件中访问 this.$store property
,你需要为 Vue
实例提供创建好的 store
。Vuex
提供了一个从根组件向所有子组件,以 store
选项的方式“注入”该 store
的机制:
new Vue({
el: '#app',
store: store,
})
现在我们可以从组件的方法提交一个变更:
methods: {
increment() {
this.$store.commit('increment')
console.log(this.$store.state.count)
}
}
html模板代码中使获取数据:
<span v-model="this.$store.state.count"><span> // 一般情况下,我们会把this省略掉