Vuejs: как получить вычисляемое свойство в созданном хуке - PullRequest
0 голосов
/ 25 апреля 2018

Можно ли получить вычисленное значение свойства в созданном хуке?Моя текущая реализация не работает.В моем понимании созданный хук будет вызван первым, который вызовет мой асинхронный метод, а асинхронному методу требуется вычисленное свойство, но к тому времени, когда вычисляемое свойство становится доступным, созданный хук уже был выполнен с параметром «undefined».

Пожалуйста, предложите, как я могу сделать вычисляемое свойство доступным для созданного метода ловушки.

created() {
        this.fetchPropertyOptions();
},
computed: {
    propertyList() {
        return this.data.value;
    },
},
methods: {
    async fetchPropertyOptions() {
        this.propertyOptionsMap = await api.GetOptions(this.propertyList);
    },
}

1 Ответ

0 голосов
/ 11 февраля 2019

Создание компонента Vue проходит через разные жизненные циклы.В разделе документации *1001* есть отличная диаграмма.

Читая вышеупомянутую диаграмму сверху вниз, вы замечаете хук created, который вы используете в своем примере.Он вызывается сразу после Init injections & reactivity.Это где, например, props, data & computed инициализированы.Сразу после этого вызывается метод жизненного цикла created.

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

Фактически единственный метод жизненного цикла, который не может использовать injections & reactivity, - это beforeCreated.Все другие методы жизненного цикла, например, mounted, updated и даже beforeDestroy & destroyed имеют доступ к нему.

...