1

在开发过程中,我们创建了一个组件,该组件index.md根据this.$site.pages.path列表遍历文件夹中的每个文件。在升级到 1.0.0-alpha.39 以修复我们遇到的其他一些问题后,它不再有效。

组件代码:

<template>
  <div>
    <Content v-for="page in changelogPages" :key="page.key" :pageKey="page.key"/>
  </div>
</template>

<script>
import _ from "lodash"
export default {
  computed: {
    changelogPages: function () {
      let pages = this.$site.pages
        .filter(pages => pages.path.startsWith("/docs/change-log/2"))

      return _.orderBy(pages, 'path').reverse()
    }
  },
  data: function () {
    return {}
  }
}

</script>

这会导致以下错误。 在此处输入图像描述

查看 chrome 的 Vue 插件,我可以看到 page.key 在那里。

在此处输入图像描述

在页面中,我只是<ChangeLogList />调用了上面的全局组件。

仅供参考:VuePress 生态系统不需要我注册 markdown 文件,因此“您是否注册了您的组件”的典型答案是不正确的。

回购中的参考链接

全局组件:https ://github.com/okta/okta.github.io/blob/VuePress/packages/%40okta/vuepress-theme-default/global-components/ChangeLogList.vue

调用 ChangeLogList 的组件:https ://github.com/okta/okta.github.io/blob/VuePress/packages/%40okta/vuepress-theme-default/components/ChangeLog.vue

使用 ChangeLog 的页面(查看原始文件):https ://github.com/okta/okta.github.io/blob/VuePress/packages/%40okta/vuepress-site/docs/change-log/index.md

在Github上也登录了一个问题,但那里没有回复

4

1 回答 1

0

请用

<Content v-for="page in changelogPages" :key="page.key" :page-key="page.key"/>
于 2020-12-30T01:38:44.607 回答