1.装包:npm install vuex -S
2.引入:import Vuex from 'vuex' //这些都是写在man.js中
3.加载到Vue中:Vue.use(Vuex)
4.创建一个数据存储对象:
var store=new Vuex.Store({
state:{ //state用来专门用来存储数据的,相当于data ; 组件内部想调用:this.$store.state.num
num:0
},
mutations:{ //mutations用来操作state里面的数据的,相当于methods
add(state,object){ //add(state,object) 方法中,只能有两个参数,第一个参数永远是state,第二个参数可以是任意类型; state.mum++ // 组件调用:this.$store.commit("add",{count:1,counts:2}) 跟this.$emit("父组件的方法名")类似
}
},
getters:{ //把数据包装一层向外提供,其中state中的值发生改变了,getters中的值也会变,跟computed类似,调用:this.$store.getters.stutack
stutack(state){
return "当前最新的数据是"+state.num
}
}
})
5. new Vue({
el:'#app',
router,
store, //挂载
render:h=>h(App)
})