我正在用来自Strapi的数据填充我的Nuxt.js网站。
我将导航设置为default.vue布局,简单如:
<li v-for="page in pages" :key="page.id">
<nuxt-link :to="page.slug"></nuxt-link>
</li>
URL正确呈现并尝试打开正确的页面,但是该页面无法加载,因为它无法从Strapi加载数据,例如:
Cannot read property 'title' of undefined
相反,如果我直接进入页面或只是刷新页面,则所有内容都会正确加载。
例如,登陆到 localhost:3000 / about 可以正常工作,但是导航到该页面则不行。
我想我首先缺少如何加载数据的东西。
我正在通过Apollo查询default.vue中的所有页面以获取导航
apollo: {
pages: {
query: pagesQuery
}
}
仅index.vue或动态页面_slug.vue中的特定页面查询单个页面:
apollo: {
pages: {
query: pageQuery,
variables () {
return {
"slug": this.$route.params.slug
}
}
}
希望很清楚,在此先感谢您的帮助!
答案 0 :(得分:0)
找到this similar question后,看来解决方案要添加
v-if="pages[0] != null"
在主元素上
data() {
return {
pages: []
}
}
这似乎可行,但不确定是否还有其他(更好的?)处理方式,请随时回复!
谢谢