Вычисленное значение запускается каждый раз, когда значение обновляется - PullRequest
2 голосов
/ 12 июля 2020

У меня есть al oop, который выводит флажки:

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

При вычислении я проверяю, является ли опора options объектом или массивом (если массив я делаю ключом из значений массива) ...

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

Но каждый раз, когда флажок меняется, вычисленный optionsObject запускается снова. Есть ли способ предотвратить это?

1 Ответ

2 голосов
/ 12 июля 2020

Так работает вычисленное свойство в Vue. Это refre sh, когда свойство, от которого оно зависит, изменяется. Для производительности это огромное преимущество по сравнению с методом (), как указано в docs :

Вместо вычисляемого свойства мы можем определить та же функция, что и метод. Для конечного результата эти два подхода действительно абсолютно одинаковы. Однако разница в том, что вычисляемые свойства кэшируются на основе их реактивных зависимостей. Вычисляемое свойство будет переоцениваться только после изменения некоторых его реактивных зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...