javascript - NuxtJS (Vue):如何将帖子列表放入组件或布局中?
问题描述
我正在使用 nuxt-content 创建一个静态博客。我正在尝试创建一个列出帖子(/content/posts/xxx.md)的导航栏。这样我只需要在帖子目录中创建新的 .md ,导航栏就会相应地更新。
为此,我需要一个可以循环浏览的所有帖子的列表,但目前我正在努力获取此列表。
在NuxtJS 关于创建静态博客的这篇博文中,我可以看到他们通过下面的代码得到了我想要的东西,但是它在页面上(它可以执行组件/布局无法执行的操作)。如何在组件(首选)或布局上复制它:
<script>
export default {
async asyncData({ $content, params }) {
const posts = await $content('posts', params.slug)
.only(['title', 'description', 'slug', 'author'])
.sortBy('createdAt', 'asc')
.fetch()
return {
posts
}
}
}
</script>
任何帮助深表感谢!
解决方案
您可以使用vuex
商店并将您的帖子保存在商店中。然后,您可以使用从商店获取您的帖子getters
如何将您的帖子保存到商店?您可以为此使用NuxtServerInit操作。它可以访问该context
对象,您可以$content
从那里访问您的对象并通过以下方式保存您的帖子mutation
然后在您的导航栏组件中,您可以获取您的posts
使用商店getters
推荐阅读
- npm-install - NPM 没有在 bitbucket 管道上安装 devDependencies?
- spring - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“MyTastTasklet”的bean时出错
- openlayers - openlayers 5.1.3:快速启动示例中的“损坏”缩小按钮?
- javascript - 无法创建我自己的类似于暗黑破坏神 3 旅程跟踪器的网络应用程序
- ios - 将阴影和角添加到 UIView 除了底部
- c# - 应用程序的 n 层架构中可以有哪些额外的层?
- c# - 在字典中包含许多变量
- c - 从主函数中引用的函数分配后无法读取内存
- wpf - 页面资源中的 DataContext 绑定
- php - JSON输入意外结束,找不到原因