computed 计算属性的获取和设置

var vm = new Vue({
  data: { a: 1 },
  computed: {
    // 仅读取
    aDouble: function () {
      return this.a * 2
    },
    // 读取和设置
    aPlus: {
      get: function () {
        return this.a + 1
      },
      set: function (v) {
        this.a = v - 1
      }
    }
  }
})
vm.aPlus   // => 2
vm.aPlus = 3
vm.a       // => 2
vm.aDouble // => 4

 

官方文档:https://cn.vuejs.org/v2/api/#computed

但是不能在计算属性中修改页面的值,最好用watch来修改

---------------------------------------------------------------------------

昨天做的时候是通过第三个属性来修改的,结果不是响应式的,所有在computed中是set 要通过 this.$set()来赋值就好了

原文地址:https://www.cnblogs.com/otome/p/14144030.html