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
我从 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