报错Unexpected side effect in “listShow” computed property

Javascript piniu 1670浏览 0评论

在使用vuejs2.0以上的版本的计算属性时,如下是报错代码:

listShow() {
        if (!this.totalCount) {
          this.fold = true;
          return false;
        }
        let show = !this.fold;
        return show;
}

因为这样是只读的,要更改,就报错了,想更改,就要用get和set方法

正确代码如下:

listShow: {
  get: function () {
    return this.fold
  },
  set: function () {
    if (!this.totalCount) {
      this.fold = true
      return false
    }
    let show = !this.fold
    return show
  }
}

计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter :

参考:#计算属性的 setter 


发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: