Vue свойство getter не определено - PullRequest
0 голосов
/ 13 января 2020

У меня есть состояние страницы , полученные из API

const state = () => ({
  info: [],
  pages: []
})

и Getter

const getters = {
  // HomePage_Getters
  HomeAdvantages(state) {
    return state.pages.find((page) => (page.template = 'home')).home_advantages
  }
}

На vue странице

        <div>
          {{ HomeAdvantages }}
        </div>
...
  computed: {
    ...mapGetters({ HomeAdvantages: 'modules/general/HomeAdvantages' })
  },

На странице refre sh я получаю

Невозможно прочитать свойство 'home_advantages' из неопределенного

Но в состоянии страниц свойство присутствует

Как я мог решить эту проблему?

Буду благодарен за помощь

1 Ответ

1 голос
/ 13 января 2020

Если свойство pages пусто, то state.pages.find((page) => (page.template = 'home')) может вернуть undefined. И в своем коде вы хотите получить home_advantages из результата find. Ваш код должен выглядеть так:

var page = state.pages.find((page) => (page.template == 'home'));
if (!page) {
   return null;
}
return page.home_advantages
...