解决Vue给mapState中定义的属性赋值报错的问题
1. 实践环境
peacock
Vue 2.9.6
2. 问题描述
<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
...略
tegamicount: state => unt
})
},
methods: {
increaCount () {
}
}
};
</script>
<style>
春节快乐英文
</style>
如上,我们希望在执⾏increaCount函数时,给mapstate函数中映射定义的unt赋值,给该值增加1,结果,提⽰
[Vue warn]: Computed property "count" was assigned to but it has no tter.
3. 解决⽅案1
如下,把属性“移出mapState”,然后为属性新增get,t⽅法,分别⽤于获取值和改变值(按store状态管理规定的⽅式)
<script>
import { mapState } from 'vuex';
floorfiller歌词export default {
name: "displayCount",
computed: {
翻译英语翻译
...mapState({
...略
}),
count: {
get() {
return this.$store.unt;
},
t(val) {
this.$it("increaCount", val);
}
}
战争与和平英文版
},
methods: {
increaCount () {
}
}
};
</script>
注意:this.$it("increaCount", val);中的increaCount⽅法名称,并不是methods中定义的⽅法名称,⽽是store中定义的⽅法
4. 解决⽅案2
turbine通过对⽐当前属性值和store状态值,然后根据⽐较结果,决定是否根据store状态管理规则更新状态值。
as well as<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
count: state => unt
})
alphabetically
},
methods: {
increaCount () {
if (unt == this.$store.unt) {
this.$it("increaCount", unt+1);
}
}
}
};
</script>
总结
到此这篇关于解决Vue 给mapState中定义的属性赋值报错的问题的⽂章就介绍到这了,更多相关vue给mapState属性赋值内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
lively是什么意思