Vue getter 属性 未定义

Vue getter property undefined

我从 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' })
  },

在页面刷新时我得到

Cannot read property 'home_advantages' of undefined

但在状态 页数 属性 存在

我该如何解决这个问题?

如有帮助,我将不胜感激

如果pages属性为空,则state.pages.find((page) => (page.template = 'home'))可能returnundefined。 在您的代码中,您希望从 find 结果中获得 home_advantages。 您的代码应如下所示:

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