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