vuex簡單梳理3,Mutations的用法和其輔助函式
阿新 • • 發佈:2020-09-08
Mutations在vuex中的定位是修改store中state的唯一方法
雖然在之前梳理state時,曾直接修改過state是可以修改的,但在真正使用的時候想要修改state還是要通過Muatations,
而且在Mutations中不應該包含任何非同步的請求,非同步的請求會在下一個梳理actions中提到。
const state = { liuDeHua:12, }
const mutations = { // 修改state下的liudehua
預設第一個引數接受state,後面只能在傳入一個引數
SET_LIU_DE_HUA(state,num=1,num2){ console.log(num,num2,'只能接受一個引數,num2為undefined');// undefined console.log(this.state === state);//true state.liuDeHua +=num; }, }
在元件中通過,$store.commit()呼叫Mutations中的方法
<div> <input type="button" @click="$store.commit('SET_LIU_DE_HUA',2,3)"><inputtype="button"@click="set_liu(5)">
{{$store.state.liuDeHua}}</div>
methods:{ set_liu(num){ this.$store.commit("SET_LIU_DE_HUA",num) }