VUE里computed的SET和GET方法

7,295 阅读1分钟

写给新手,大佬请忽略

computed里的方法其实是默认使用了get方法

computed: {
    editData () {
        return this.value
    }
}
// 相当于
computed: {
    editData: {
      get () {
        return this.value
      }
    }
}

computed里set方法写法如下,一般用不到

computed: {
    editData: {
      get () {
        return this.value
      },
      set (v) {
        this.$emit('input', v)
      }
    }
 }

set方法的意义是:如果对计算属性设置值,会阻断赋值的动作,而改为调用计算属性的set方法,即: 如果你使用this.editData = 2对editData赋值,得到的结果是执行了set里的语句this.$emit('input', 2),这时打印this.editData得到的值还是get方法里的 this.value,而不是赋值的2!

码字不容易,给个赞吧