酒店小程序怎么引流_解决Vue 给mapState中界说的属

解决Vue 给mapState中定义的属性赋值报错的问题       这篇文章主要介绍了解决Vue 给mapState中定义的属性赋值报错的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

如上,我们希望在执行increaseCount函数时,给ma凡科抠图tate函数中映射定义的this.count赋值,给该值增加1,结果,提示

[Vue warn]: Computed property "count" was assigned to but it has no setter.

3. 解决方案1

如下,把属性“移出mapState”,然后为属性新增get,set方法,分别用于获取值和改变值(按store状态管理规定的方式)

 script 
import { mapState } from 'vuex';
export default {
 name: "displayCount",
 computed: {
 ...mapState({
 count: {
 get() {
 return this.$store.state.a.count;
 set(val) {
 this.$mit("increaseCount", val);
 methods: {
 increaseCount () {
 this.count = this.count + 1
 /script 

注意:this.$mit("increaseCount", val);中的increaseCount方法名称,并不是methods中定义的方法名称,而是store中定义的方法

4. 解决方案2

通过对比当前属性值和store状态值,然后根据比较结果,决定是否根据store状态管理规则更新状态值。

 script 
import { mapState } from 'vuex';
export default {
 name: "displayCount",
 computed: {
 ...mapState({
 count: state = state.a.count
 methods: {
 increaseCount () {
 if (this.count == this.$store.state.a.count) {
 this.$mit("increaseCount", this.count+1);
 /script 

总结

到此这篇关于解决Vue 给mapState中定义的属性赋值报错的问题的文章就介绍到这了,更多相关vue给mapState属性赋值内容请搜索凡科以前的文章或继续浏览下面的

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://mfjzn.cn/ziyuan/3128.html