【问题标题】:VUE Routes - Nested routes do not renderVUE 路由器 - 嵌套路由不渲染
【发布时间】:2019-11-15 17:27:56
【问题描述】:

我希望社区可以对此事有所了解。 我希望在我的 Vue 应用程序中嵌套一些路由(这是我的第一个 vue 项目)。 我的主要路线正在运行,包括父路线配置文件。

我已经阅读了文档并查看了代码以及一些视频。找不到故障。

我将提供指向 repo 的链接,而不是粘贴代码。

router.js 在这里 - https://github.com/anaivanm/vue-tw/blob/master/src/router.js

所有 .vue 文件都在视图中,如下所示:https://github.com/anaivanm/vue-tw/tree/master/src/views

我有那些我试图在视图/配置文件文件夹中的 Profile 下嵌套的那些,但这也不起作用。

你可以在这里看到带有 router-link 标签的导航栏: https://github.com/anaivanm/vue-tw/blob/master/src/components/SiteHeader.vue

我没有收到任何错误,它只是呈现一个空格,即使路径以正确的方式存在,例如http://localhost:8080/#/profile/saved

个人资料页面出现,所有其他孩子 - 不。

【问题讨论】:

  • 您的链接无效 - 您能确保它们是公开的吗?或者只是发布你的 router.js 的代码
  • 嗨,@MikeHarrison 我的错误 - 我更新了它们。
  • 您是否尝试过在每条路线中删除 path 属性的开头斜线?我从来没有使用过这样的斜线,尤其是对于子路由。
  • 是的,我有。还是不行。相反,它呈现的只是个人资料页面 - 父页面。

标签: vue.js vue-router nested-routes


【解决方案1】:

根据nested route docs,要使嵌套路由正常工作,您需要将<router-view></router-view> 添加到嵌套路由将在其中呈现的父组件(Profile.vue)。我在您的个人资料页面中没有看到<router-view></router-view>,它应该是这样的:

<template>
  <div>
    Profile page.
    <router-view></router-view>
  </div>
</template>

【讨论】:

  • 谢谢。我不知何故认为只在应用程序上添加路由器视图就足够了。
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 2017-06-07
  • 2017-11-15
  • 1970-01-01
  • 2017-09-16
  • 2011-08-06
相关资源
最近更新 更多