将<content>标记与pageKey一起使用在VuePress 1.x中不起作用

时间:2019-02-26 19:25:18

标签: javascript vue.js vuepress

在开发过程中,我们创建了一个组件,该组件根据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>

这将导致以下错误。 enter image description here

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

enter image description here

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

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

回购中的参考链接

全局组件: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登录了一个问题,但那里没有任何答复

1 个答案:

答案 0 :(得分:0)

请使用

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