vuex this.$store.state.属性和mapState的属性中的一点点区别

Posted zhx119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuex this.$store.state.属性和mapState的属性中的一点点区别相关的知识,希望对你有一定的参考价值。

做泰康公众号的项目时候有一个需求创建公众号的时候后台有一个社区id提供给后台展现人员和部门,在群发消息时候也要给后台一个社区id只不过获取社区的id接口和上一个不是一样的,本来在页面中写了两个select,一个是用elementUI的select选择器,另一个是在标签选择器,现在在创建公众号时使用公众号社区的id让群发消息的select隐藏,我是用vuex在state里声明两个变量分别设置falese ,true,这样在引用各个接口时候v-show显示相应的数据,用this.$store.state.属性是可以设置和获取相应的值,但是用mapState属性能获取但是设置不了值,如果设置就会报错,如果设置需要在mutations中来处理。代码如下

state:

export default {
selectAcounts: true, // 创建公众号
selectMassmessag: false // 群发社区
}
mutations:
export default {
updateLoginStatus (state, bool) {
state.isLogin = bool
},
updateselectAcounts (state, bool) {
state.selectAcounts = bool
},
updateselectMassmessag (state, bool) {
state.selectMassmessag = bool
},
}
在组件方法中引入mapMutations
methods:{
...mapMutations([‘updateselectAcounts‘, ‘updateselectMassmessag‘])
//点击选择按钮时候出发mapMutations中的两个方法改变state中的值 也可以通过this.store.$state.selectAcounts = false和this.$store.state.selectMassmessag = true来重新设置值
showTreeToast (type) {

this.updateselectMassmessag(true)

this.updateselectAcounts(false)
}

}
 

























以上是关于vuex this.$store.state.属性和mapState的属性中的一点点区别的主要内容,如果未能解决你的问题,请参考以下文章

vuex - 常用命令学习及用法整理

vuex辅助函数介绍和使用

vuex的五个属性及使用方法

修改 vuex $store.state 里取出的数据不响应

计算属性取决于 vuex 存储。如何更新缓存的值?

Vuex Store 使用 'this' 访问状态