# 基礎使用
# API
import { mapState, mapMutations, mapActions, mapGetters } from 'vuex';
1
相對應關係
mapState
可以取得state
裡面的資料。mapMutations
可以取得mutations
裡面的方法。mapActions
可以取得actions
裡面的方法。mapGetters
可以取得getters
裡面的方法。
import { mapGetters, mapState } from 'vuex';
export default {
name: 'MyComponent',
computed: {
...mapGetters(['getAge']),
...mapState(['age']),
},
};
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
在 template
中即可直接使用 getAge
,或是組件裡面,可以使用 this.getAge
來取得資料。
而如果是 mapActions
或是 mapMutations
則是放在 methods
裡面。
import { mapMutations, mapActions } from 'vuex';
export default {
name: 'MyComponent',
methods: {
...mapActions(['ohMyAge']),
...mapMutations(['incrementAge']),
},
};
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 嚴謹模式
strict: true
啟用嚴謹模式。
提醒
- 只能透過
Mutations
來改state
的數值,如果直接更改state
數值,會被警告 - 只能透過
Actions
來處理關於非同步的事情