林秀栋的技术博客

如何修改computed中定义的变量

在data中定义的变量可随意修改,但有些变量若需要计算才能得出结果,一般用computed定义。

new Vue({
    //...
    computed: {
        a: function(){
            return this.b;
        }
    }
})

但这样a无法手动修改。有时需求为a在某些条件下计算生成,某些条件下可以手动赋值(比如绑定在input上),需要做如下修改。

new Vue({
    //...
    computed: {
        a: {
            get: function(){
                return this.b;
            },
            set: function(newValue){
                //通过修改b触发get事件,从而修改a
                this.b = newValue;
            }
        }
    }
})