vuex是专门为vue.js设计的状态管理库,以利用vue.js的细粒度数响应机制来进行高效的状态更新。
vuex的状态存储是响应式的,当vue组件从store中读取状态的时候,若store中的状态发生改变,那么组件相应的得到高效更新。
不能直接改变store中的状态,改变store中的状态的唯一途径就是显示的提交(commit)mutation.
state
Vuex 使用 state来存储应用中需要共享的状态。为了能让 Vue 组件在 state更改后也随着更改,需要基于state创建计算属性。
1、通过computed的计算属性直接赋值computed属性可以在输出前,对data中的值进行改变,我们就利用这种特性把store.js中的state值赋值给我们模板中的data值。
computed:{
count(){
return this.$store.state.count;
}
}
2、通过mapState的对象来赋值(import {mapState,mapMutations,mapGetter,MapAction} from 'vuex')
computed:mapState({
count:state=>state.count
})
3、通过mapState的数组来赋值
computed:mapState(["count"])
网友评论