vuex提供一系列的map函式讓我們可以簡化語法
mapSate
# 引入
import { mapState } from 'vuex'
# mapState
// 普通寫法
computed:{
name(){
return this.$store.state.key
}
}
// 簡寫1物件寫法(這樣開發者工具不會出現在開發者工具中的computed裡面)
computed:{
...mapState({
模板要使用的name:'state的key'
})
}
// 簡寫2陣列寫法(這樣開發者工具不會出現在開發者工具中的computed裡面)
computed:{
...mapState(['key']) //使用的name要與定義的一樣的話可以直接這樣寫
}
mapGetters
# 引入
import { mapGetters } from 'vuex'
# mapGetters
// 普通寫法
computed:{
name(){
return this.$store.getters.key
}
}
// 簡寫1物件寫法(這樣開發者工具不會出現在開發者工具中的computed裡面)
computed:{
...mapGetters({
模板要使用的name:'state的key'
})
}
// 簡寫2陣列寫法(這樣開發者工具不會出現在開發者工具中的computed裡面)
computed:{
...mapGetters(['key']) //使用的name要與定義的一樣的話可以直接這樣寫
}
mapMutations
# 引入
import { mapMutations } from 'vuex'
# mapMutations
// 普通寫法
this.$store.commit(name,value)
// 簡寫1物件寫法
computed:{
...mapMutations({
模板要使用的name:'state的key'
})
}
// 簡寫2陣列寫法()
computed:{
...mapMutations(['key']) //使用的name要與定義的一樣的話可以直接這樣寫
}
mapActions
# 引入
import { mapActions } from 'vuex'
# mapActions
// 普通寫法
this.$store.dispatch(name,value)
// 簡寫1物件寫法
computed:{
...mapActions({
模板要使用的name:'state的key'
})
}
// 簡寫2陣列寫法
computed:{
...mapActions(['key']) //使用的name要與定義的一樣的話可以直接這樣寫
}