Vue 给mapState中定义的属性赋值报错的解决方案
Vue 给mapState中定义的属性赋值报错的解决方案
by:授客 QQ:1033553122
1. 实践环境
Vue 2.9.6
2. 问题描述
<script>
import { mapState } from 'vuex';
export default {
name: "displayCount",
computed: {
...mapState({
...略
count: state => state.a.count
})
},
methods: {
increaseCount () {
this.count = this.count + 1
}
}
};
</script>
<style>
</style>
如上,我们希望在执行increaseCount函数时,给mapstate函数中映射定义的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.$store.commit("increaseCount", val);
}
}
},
methods: {
increaseCount () {
this.count = this.count + 1
}
}
};
</script>
注意:this.$store.commit("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.$store.commit("increaseCount", this.count+1);
}
}
}
};
</script>
Vue 给mapState中定义的属性赋值报错的解决方案的更多相关文章
- worker中加载本地文件报错的解决方案
如果在一个swf的主线程中加载文件时,报安全沙箱的错误, 网上有诸多的解决方案.但是如果在一个worker中加载本地文件报类似如下的错误: *** 安全沙箱冲突 *** SecurityError: ...
- 在eclipse中引入jquery.js文件报错的解决方案
从官方下载的jquery.js在myeclipse始终用个大大的红叉,看着很不爽,如何解决呢:jquery.js在myeclipse中报错:jquery.js -> 鼠标右键 -> MyE ...
- 安卓工程中定义的app_name等报错解决办法 工程上有叹号
类似于"app_name" is not translated in af, am, ar, be, bg, ca, cs, da, de, el, en-rGB, es, es- ...
- WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了
原文:WPF 让普通 CLR 属性支持 XAML 绑定(非依赖属性),这样 MarkupExtension 中定义的属性也能使用绑定了 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4 ...
- Vue 改变数组中对象的属性不重新渲染View的解决方案
Vue 改变数组中对象的属性不重新渲染View的解决方案 在解决问题之前,我们先来了解下 vue响应性原理: Vue最显著的一个功能是响应系统-- 模型只是一个普通对象,修改对象则会更新视图.受到ja ...
- vue.js 中使用(...)运算符报错的解决方法
vue.js 中使用(...)运算符报错的解决方法 Syntax Error:Unexpected token(XX:X) }, computed:{ ...mapGetters([ 'pageSiz ...
- const变量赋值报错分析
const变量赋值报错分析 const变量赋值报错 从变量到常量的赋值是合法C++的语法约定的, 如从char 到const char顺畅: 但从char **到 const char **编译器就会 ...
- 【jQuery】jquery中 使用$('#parentUid').attr(parentUid);报错jquery-1.11.3.min.js:5 Uncaught TypeError: Cannot read property 'nodeType' of undefined
jquery中 使用$('#parentUid').attr(parentUid);报错jquery-1.11.3.min.js:5 Uncaught TypeError: Cannot read p ...
- 关于Entity Framework中的Attached报错相关解决方案的总结
关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...
- SQL server 维护计划中 “清除维护任务” 执行报错
SQL server 维护计划中 “清除维护任务” 执行报错,错误如下: 执行查询“EXECUTE master.dbo.xp_delete_file 0,N'',N'',N'2019...”失败,错 ...
随机推荐
- Windows pyinstaller wxPython pyecharts无法正常显示问题
Windows pyinstaller wxPython pyecharts无法正常显示问题 最近遇到一个pyinstaller打包wxPython pyecharts无法显示的问题,pyechart ...
- Vue 页面传参方式 Query 和 Params
1. query 与 params 传参 query 需要和配合 path 属性使用,携带参数会拼接在请求路径后,效果同 Get 请求方式 http://localhost:8033/Permissi ...
- MySQL学习笔记-数据操作语言
SQL-数据操作语言(DML) 数据操作语言,用于对数据库中表的数据记录进行增删改的操作 一.添加数据(insert) 1. 给指定字段添加数据 insert into {表名} ({字段1},{字段 ...
- test(爱测试) 开源接口测试,敏捷测试管理平台10.2.7发布
一:itest work 简介 itest work 开源敏捷测试管理,包含极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock,还有压测 ,又有丰富的统计分析,8合1工作站.可按 ...
- LiteOS基础学习
1 IDE环境安装 目的:安装LiteOS IDE,并且是使用仿真方式运行. 1.1 IDE安装 HUAWEI LiteOS Studio安装 (gitee.io) 1.2 中文安装 HUAWEI L ...
- switch的穿透
// switch 的 穿透 // 什么是switch的穿透 // 如果在 switch 中没有定义break , switch 会从定位的程序,一直执行到所有sw ...
- LeetCode 207. Course Schedule 课程表 (C++/Java)
题目: There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have pr ...
- golang 泛型的格式写法
Go语言中的泛型(Generics)是在 Go 1.18 版本中引入的一个重要特性,它允许你编写可重用的代码,而不需要为每种数据类型重复编写相同的逻辑. 泛型通过参数化类型(type paramete ...
- The bean ‘xxx‘ could not be injected as a ‘xxx‘because it is a JDK dynamic proxy that implements错误解决
1.解决方法:使用@Autowired 2.@autowired和@resource注解的区别区别:1.@Autowired注解由Spring提供,只按照byType注入:@resource注解由J2 ...
- 函数式表达式基本类型及固定类型 demo
1.常见类型及使用 import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.ut ...