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()来赋值就好了

posted @ 2020-12-16 15:10  otome  阅读(105)  评论(0编辑  收藏  举报