首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在nuxt博客中获取内容文件夹中的项目数

在nuxt博客中获取内容文件夹中的项目数
EN

Stack Overflow用户
提问于 2021-04-29 23:28:23
回答 1查看 275关注 0票数 1

在我的Nuxt页面中,我有一个导航组件,我试图在其中实现如下

Logo Infos

其中(2)是一个标志,表示对应的“作业”内容文件夹中的项数。我试着填补这个州的空缺,但没能让它运转起来。我的状态是这样的:

代码语言:javascript
复制
export const state = () => ({
  jobsLength: null,
})

export const mutations = {
  setJobsLength(state, payload) {
    state.jobsLength = payload.length
  },
}

export const getters = {
  getJobsLength(state) {
    return state.jobsLength
  },
}

export const actions = {
  async fetch({ $content, commit }) {
    const jobs = await $content('jobs').fetch()
    commit('setJobsLength', jobs.length)
  },
}

我的Navigation.vue组件:

代码语言:javascript
复制
<a href="/jobs">
    Jobs {{ getJobsLength }}
</a>

....

<script>
import { mapGetters, mapMutations, mapActions } from 'vuex'

export default {
  computed: {
      ...mapGetters({
          getJobsLength: 'jobsLength/getJobsLength',
      }),
  },
  mounted() {
      this.fetchJobs()
  },
  methods: {
      ...mapActions({
          fetchJobs: 'jobsLength/fetch',
      }),
  },
}
</script>

反应是

Uncaught:$content不是一个函数

我觉得我错过了什么,但在代码中的2-3小时之后,我就瞎了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-30 01:39:20

您的错误可能是因为您已经将一个数字传递给您的提交(jobs.length)

代码语言:javascript
复制
commit('setJobsLength', jobs.length)

但是在你的突变中,你确实使用了length 。正确的版本如下:

代码语言:javascript
复制
setJobsLength(state, arrayLength) { // better naming, rather than payload
  state.jobsLength = arrayLength
},

同时,让自己变得容易,剥去吸气器,直接使用状态。

代码语言:javascript
复制
...mapState('jobsLength', ['jobsLength'])
// btw here the namespaced module should probably be renamed to something more generic like "jobs"
...mapState('jobs', ['jobsLength'])

您的操作也是如此,为什么不直接调用它( async fetchJobs({ $content, commit }) ),而不是事后重命名它。

最后,不要忘记创建一个async mounted,因为您的操作是async

代码语言:javascript
复制
async mounted() {
    await this.fetchJobs()
},

PS: Vuex可能是过度杀戮和复杂的事情。如果您不需要全局jobsLength,请使用本地状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67326309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档