需要遵守的響應規則
1 .最好提前在store中初始好你需要的屬性
2 .在對象上添加新屬性時,這個沒遇到
3 .使用常量代替mutation事件類型,可以方便其他代碼檢查工具發揮作用,同時放在單獨的文件中可以讓你的代碼合作者對整個app包含的mutataion一目了然,便于維護
4 .Mutation必須是同步函數
1 .store.commit('add') 也就是說,執行完此函數之后,由add導致的狀態改變必須在此刻完成
2 .在mutation中混合異步調用會導致你的程序非常難調試,特別是同時有多個回調來改變的狀態
3 .實際上,任何在回調函數中進行的狀態都是不可追蹤的
4 .
5 .組件中提交mutation
1 .this.$store.commit('xx')
2 .mapMutation 輔助函數映射一下,然后當成普通的函數使用this.add
...mapMutations([
'increment', // 將 `this.increment()` 映射為 `this.$store.commit('increment')`
// `mapMutations` 也支持載荷:
'incrementBy' // 將 `this.incrementBy(amount)` 映射為 `this.$store.commit('incrementBy', amount)`
]),
...mapMutations({
add: 'increment' // 將 `this.add()` 映射為 `this.$store.commit('increment')`
})
//其實可以這樣寫,自己拆分一下mapMutations
add:function(){return this.$store.commit('add')}
6 .別的文件提交
vuex.commit('add',n)