Angular 5 的子路由无法正常工作

2024-04-09

您好,我正在尝试使用子路由,但它无法按预期工作。

我的 Angular 5 结构:

在这种情况下,顶部导航包含加载子模块的链接,子导航包含更新子模块内容的链接。

应用程序模块(和应用程序组件)包含一个顶部导航栏,用于导航到不同的子模块,应用程序组件模板可能如下所示

 <top-navbar></top-navbar>
 <router-outlet></router-outlet>

但这就是复杂性。我需要我的子模块具有类似的布局,带有第二级导航栏和自己的路由器出口来加载自己的组件。

 <sub-navbar></sub-navbar>
 <router-outlet name='sub'></router-outlet>

我的app.module.ts

RouterModule.forRoot([
  {
    path: 'career', component: CareerComponent,
    children: [
      { path: 'roles', component: rolesComponent, outlet: 'sub' }
    ]
  }
])

我的 HTML 文件,我在导航按钮上使用以下格式:

[routerLink]="[{ outlets: { sub: ['roles'] } }]"

我还尝试了以下操作(这没有任何作用,我单击“角色”按钮,但没有任何反应):

[routerLink]="['/roles']"

在顶部菜单上,我从导航栏中单击“职业”。 现在我的网址显示为 mywebsite.com/career

现在从这里我有一个带有侧面菜单的职业页面,其中一个按钮是“角色”。这应该会更改页面的部分视图。 组件加载正确,问题是url格式错误。

预期网址:

 mywebsite.com/career/roles

它如何显示(错误):

 mywebsite.com/career/(sub:roles)

首先,让我们确保我们在术语方面意见一致。

“子”路由是嵌套路由。像这样的东西:

请注意,应用程序路由的路由器出口是全屏的。 shell 组件的路由器出口是导航栏下方的区域。编辑组件的路由器出口是选项卡下方的区域。

子路由使用以下方式定义children属性如您在上面的问题中所示的路线配置中所具有的属性。

子路线是不同的来自命名(也称为辅助)路线。辅助路由适用于并排且不处于嵌套关系的路由。目前有lots辅助路由的错误和问题,我目前不推荐它们。

从你的描述看来你确实需要child路线不辅助/命名路线。所以你不应该使用name属性也不outlet财产。

除非我误解了你的场景?

我有一个 YouTube 视频,其中演示了子路由(以及其他一些路由技术):

您可以在这里找到示例代码:

https://github.com/DeborahK/MovieHunter-routing https://github.com/DeborahK/MovieHunter-routing

和这里:

https://github.com/DeborahK/Angular-Routing https://github.com/DeborahK/Angular-Routing

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 5 的子路由无法正常工作 的相关文章

随机推荐

  • 避免竞争条件,Django + Heroku + PostgreSQL

    我正在运行一个竞赛网站 您可以尝试点击 X 来赢得奖品 它是用 Django 编写的 并在带有 PostgreSQL 的 Heroku 上运行 每次点击都会保存为 Play 模型的一个实例 该模型通过查看之前的数据库中有多少个 Play 来
  • python numpy 和内存效率(通过引用传递与值传递)

    我最近越来越多地使用 python 来代替 c c 因为它使我的编码时间缩短了几倍 同时 当我处理大量数据时 我的python程序运行速度开始变得比c中慢很多 我想知道这是否是由于我使用大型对象 数组效率低下所致 有没有关于 numpy p
  • 从 java Runtime.exec 读取流

    我有以下代码片段 Process proc runtime exec command errorGobbler new ErrorStreamGobbler proc getErrorStream logErrors mdcMap outp
  • Response.Redirect() ThreadAbortException 间歇性冒泡过高

    我 现在 明白 Response Redirect 和 Response End 抛出 ThreadAbortException 作为终止当前处理线程以模拟 ASP Classic 的 Response End 和 Response Red
  • Mongodb 尝试从聚合中返回选定的字段

    我的聚合函数遇到问题 我试图从数据库中获取用户最常见的订单 但我只返回名称和计数 我尝试过使用 project运算符 但我似乎无法让它返回除其中内容之外的任何内容 group陈述 这是我当前的聚合函数 OrderModel aggregat
  • Android 材质库 ShapeableImageView 未使用 app:shapeAppearanceOverlay 显示预览

    使用有问题ShapeableImageView材料成分及组合shapeAppearanceOverlay使其成为圆形图像 它不会显示在视口中 好像我们将可见性设置为GONE 然而 它在设备上完美显示 有什么办法可以解决吗 或者因为它仍然在1
  • 从提交中排除隐藏的表单字段

    我根据复选框的状态隐藏 显示 div
  • SQL 查询按最接近的匹配排序

    我们有一个位置搜索页面 这给我们带来了我以前从未遇到过的挑战 在我们的数据库中 我们有一个城市 州等的列表以及相应的地理编码 到目前为止一切都很有趣 我们在名为 威斯康星州 Black River Falls 的城市设有两家分店 最近又在
  • 如何为 hotchocolate 12 graphql 中的扩展字段设置虚拟过滤器处理程序?

    我有一个扩展属性需要可过滤 但是它从不同的数据源获取数据 这意味着默认过滤将不起作用 因为查询无法正确翻译 我想创建一个虚拟过滤器类型处理程序 然后根据查询上下文手动应用过滤器 public class User public string
  • 在 cPanel 上设置 Laravel 项目

    我正在尝试将 laravel 项目设置为 cpanel 上的子域 但遇到解析问题和错误 这些是我到目前为止所做的步骤 压缩项目并将其上传到此目录public html encuestas 解压并将内容移动到上面的目录 使用 PuTTY 获取
  • 设置 XGBoost 提前停止的 Tol

    我正在使用 XGBoost 并提前停止 经过大约 1000 个 epoch 后 模型仍在改进 但改进的幅度非常低 IE clf xgb train params dtrain num boost round num rounds evals
  • 编写 webkit Css 后滚动条中没有箭头按钮

    请参阅此处的表格 http www funkkopfhoerer test com vergleichstabelle funkkopfhoerer http www funkkopfhoerer test com vergleichsta
  • Android中自定义圆形复选框

    我正在尝试获取 Google 应用程序照片选择 UI 我正在使用 Appcompat 复选框来实现这一目标 但没有成功 我正在努力的步骤 1 将复选框背景设置为自定义圆形 2 在xml中定义自定义形状 这是我的复选框 xml 的样子
  • ASP.NET Core SignalR websocket 连接限制

    我使用 Microsoft AspNetCore SignalR Client 对在 Windows Server 2016 标准上托管的 SignalR ASP NET Core 应用程序进行负载测试 安装了 Dotnet 核心托管 2
  • 模板参数 - 带有可变参数的函数指针

    我知道我可以这样做 template
  • 如何在春季结束会话 3

    我在用 SessionAttributes在春天 但我不知道如何结束会话 我尝试了下面的代码 但出现错误 请给我一些例子 Thanks RequestMapping value LogoutAction public String logo
  • 在没有受信任证书的情况下安装 .appx?

    我有一个 Windows 8 应用程序 我想将其部署到我的 Windows RT 2 我只有 appx 我想绕过商店安装它进行测试 但是 当我运行命令时 Add AppxPackage
  • 克隆二叉树的时间复杂度

    我想知道克隆二叉树的代码的时间复杂度是否为 O n 如果是 O n 你能解释一下为什么吗 如果没有 你能建议一种时间复杂度为 O n 的方法吗 public TreeNode cloneTree TreeNode root if root
  • 需要查看sql中的一个日期范围是否与另一个日期范围重叠

    我有一个存储房间预订的表 其架构是 ID ROOM ID CHECK IN DATE CHECK OUT DATE USER ID 我需要对一组日期范围内可用 不可用的房间运行搜索查询 另请记住 还有另一个表保存预订房间的日期 其格式如下
  • Angular 5 的子路由无法正常工作

    您好 我正在尝试使用子路由 但它无法按预期工作 我的 Angular 5 结构 在这种情况下 顶部导航包含加载子模块的链接 子导航包含更新子模块内容的链接 应用程序模块 和应用程序组件 包含一个顶部导航栏 用于导航到不同的子模块 应用程序组