Vue & Vuex splice - невозможно прочитать свойство null. Без сращивания контента отдает нормально - PullRequest
0 голосов
/ 18 марта 2020

При использовании Vuex и вычисляемого свойства возвращает эту ошибку. У меня нет идей, поскольку я несколько часов пытался это исправить. кажется, что данные недоступны при попытке рендеринга шаблона. Странно то, что когда я не использую сращивание, ошибка не появляется.

ошибка

Vue warn]: Error in render: "TypeError: Cannot read property 'slice' of null"

template

        v-for="expert in experts"
            :key="expert.name"
            @click="goToProfile(expert.id)">
            <div class="experts__img">
                <LazyImage
                    :src="avatar(expert.file)"
                    :srcset="srcset(expert.file)"
                    :alt="expert.name"
                    :width="375"
                    :height="500"
                    :cover="true"/>
            </div>

script

    computed: {
    experts () {
        return this.$store.getters.experts.slice(0,3);
    },

Если я альтернативно использую соединение в разделе внешнего интерфейса, я получаю ту же ошибку

        v-for="expert in experts.splice(0,3)"
            :key="expert.name"
            @click="goToProfile(expert.id)">

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Сообщение об ошибке указывает, что в этом коде:

computed: {
  experts () {
    return this.$store.getters.experts.slice(0,3);
  },
},

Получатель experts Vuex равен нулю. Вы должны убедиться, что получатель возвращает ненулевое значение во время рендеринга компонента. Возможно, вы изначально не правильно инициализировали некоторые данные? В качестве альтернативы вы можете написать защитный код, который обрабатывает случай, когда experts равен нулю, чтобы не вызывать ошибку.

Вы не предоставили свой код для experts получателя Vuex, поэтому я могу ' Я больше не буду вам помогать.

0 голосов
/ 19 марта 2020

Хорошо, я подумал, что у меня есть эксперты: в моем состоянии null, но когда я изменяю его на экспертов: [] ошибка исчезает, но все равно контент вообще не отображается.

почему содержимое не отображается после загрузки? Я думал, что вычисление с асин c будет отображаться после загрузки! ??!

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