Vue——解决报错 Computed property "****" was assigned to but it has no setter.
在最近的项目中遇到了如下的警告信息:
[Vue warn]: Computed property " currentStep" was assigned to but it has no setter.(意思是:计算属性 currentStep被赋值了,但此它并未定义 set方法 。)
要解决这个问题,首先要明确这个问题出现的原因。这个警告是由于Vue的计算属性内部没有set方法,即:计算属性不支持值得修改(只能针对data中的值进行计算)。
data(){ return { stepMap:0 } }, computed:{ currentStep:{ get(){ return this.stepMap }, set(v){ this.stepMap = v } // set方法只写下面这一行也是可以的 // set(){} } }
如上面所示,只要手动给计算属性添加get和set方法的不同操作,这个警告就解决了。