每次更新值时都会运行计算值

时间:2020-07-12 14:19:38

标签: vue.js vuejs2

我有一个循环,输出复选框:

<div v-for="(value, key) in optionsObject" :key="key">

在计算中,我检查prop options是对象还是数组(如果我使数组成为数组值的键)...

computed: {
        optionsObject() {
            return _.isPlainObject(this.options) ? this.options : _.zipObject(this.options, this.options);
        }
    }

但是每次复选框更改时,它都会再次运行计算的optionsObject。反正有什么可以防止的?

1 个答案:

答案 0 :(得分:2)

这就是Vue中计算属性的工作方式。当它依赖的属性发生更改时刷新。对于性能而言,与method()相比,这是一个巨大的优势,如docs中所述:

我们可以定义与 方法。对于最终结果,这两种方法确实恰好是 相同。 但是,区别在于缓存了计算的属性 根据他们的反应性依赖性。计算属性只会 重新评估其反应性依赖项的某些变化时。

相关问题