Vuex的使用
getters的配置如下,需要定义一个对象,对象中包含着函数,函数具有返回值,然后在创建Vuex.Store的时候传入定义的getters
//准备state用于存储数据
const state = {
sum:0
}
const getters = {
bigSum(state){
return state.sum * 10
}
}
export default new Vuex.Store({
...省略部分代码
state,
//传入定义的getters
getters
})
使用如下
当前大和为{{$store.getters.bigSum}}
mapGetters其实就是一个映射,将getters中的数据映射到计算属性中,如下,其中mapGetters会根据getter中配置的bigSum生成一个名为bigSum的计算属性
当前大和为{{bigSum}}
这里我们也可以使用简写形式,也就是把映射中对象形式的配置,改为数组形式
当前大和为{{bigSum}}
mapState是将state中的数据进行映射,mapState的使用与mapGetters相似,使用如下
当前和为:{{sum}}
mapActions的使用与上面的类似,不过mapActions是配置在methods中
当前和为:{{sum}}
当前大和为{{bigSum}}
并且配置的名字要与store->index.js中actions里函数的名字一致
//准备actions用于响应组件中的动作
const actions = {
jia(ctx,value){
//交给mutations处理
ctx.commit("JIA",value)
}
}
与mapActions几乎一样,mapMutations配置的函数可以直接调用mutations配置的函数,使用方法如下:
当前和为:{{sum}}
当前大和为{{bigSum}}
并且配置的名字要与store->index.js中mutations里函数的名字一致
//准备mutations用于操作数据
const mutations = {
JIA(state,value){
//操作数据
state.sum += value
}
}
留言与评论(共有 0 条评论) “” |