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方法的不同操作,这个警告就解决了。

 

posted @ 2019-11-26 16:26  刘彤彤  阅读(24376)  评论(0编辑  收藏  举报