vuex是什么:就是用来存放所有组件数据的仓库
语法
引入vuex库
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vuex@2.0.0/dist/vuex.js"></script>
const store = new Vuex.Store({
state: { 键1:值1,...,键n:值n },
getters: { 方法名(state) {},.... },
mutations: { 方法名(state [,参数]) {},.... },
actions: { 方法名(context) {},.... }
})
state&getters都是在computed里面调用 -> 接着视图使用计算属性语法显示
mutations&actions都是在methods里面调用 -> 接着视图触发事件调用方法即可
使用
const store = new Vuex.Store({
state: {
age: 19,
name: 'Jack'
},
getters: {
username(state) {
return `hello ${state.name}`
}
},
mutations: {
setAge(state) {
state.age += 1
}
},
actions: {
setAge(context) {
context.commit('setAge')
}
}
})
const vm = new Vue({
store,
el: '#app',
data: {
sex: "男"
},
computed: {
age() {
return this.$store.state.age
},
username() {
return this.$store.getters.username
}
},
methods: {
testActionsFn() {
this.$store.dispatch('setAge')
},
testMutationsFn() {
this.$store.commit('setAge')
}
}
})