【问题标题】:watching one value, computing the other one, how to update computed value when watched changes观察一个值,计算另一个值,观察变化时如何更新计算值
【发布时间】:2018-01-12 23:04:07
【问题描述】:

我正在观察一个值,我计算了另一个值。

类似这样的:

    computed: {
        modeText: function () {
            if(this.mode == 'create')
                return 'Create'
            else
                return 'Edit'
        }
    },
    watch: {
        mode(val, old) {
            if(val == 'create')
                update modeText
            else
                update modeText
        },
    },

观察值更新时如何重新计算计算值?

【问题讨论】:

  • 计算是反应式的。当 this.mode 改变时,modeText 应该会自动更新。

标签: vue.js vuejs2


【解决方案1】:

似乎modeText 只依赖于mode,因此您可以使用更简单的东西,而不是使用computed:

data: {
    modeText: '',
    mode: ''
},
watch: {
    mode(val, old) {
        this.modeText = this.updateModeText(val);
    },
},
methods: {
    updateModeText(val) {
        if (val === 'create') {
            return 'Create';
        }
        return 'Edit';
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    相关资源
    最近更新 更多