Nuxt.js本地网站页面仅在登陆时从Strapi加载数据,而不是通过<nuxt-link>导航



我正在用来自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可以正常工作,但导航到该页面则不然。

我想我首先缺少一些关于数据加载方式的东西。

我正在通过阿波罗查询 default.vue 中的所有页面以获取导航

apollo: {
pages: {
query: pagesQuery
}
}

并且只有 index.vue 中的特定页面或动态页面_slug.vue 查询单个页面:

apollo: {
pages: {
query: pageQuery,
variables () {
return {
"slug": this.$route.params.slug
}
}
}

希望清楚,提前感谢您的帮助!

找到这个类似的问题后,看起来解决方案是添加

v-if="pages[0] != null"

在主元素上,以及

data() {
return {
pages: []
}
}

这似乎有效,但不确定是否有其他(更好?(方法来处理它,所以请随时回复!

谢谢

最新更新