angular - 对 Angular 5 路线的怀疑
问题描述
我是 Angular 5 开发的新手,我对 Angular 5 中的路由有疑问。
我有<router-outlet></router-outlet>
in app.component.ts。这里我加载了我页面的登录系统,登录后,我有一个带有一些链接的仪表板视图。我想保持导航菜单并加载菜单下方的内容,但是如果我将 a 添加<router-outlet></router-outlet>
到仪表板组件并单击链接,页面会更改组件并丢失菜单。
我怎样才能实现一个好的路由系统?
解决方案
你需要把你的导航栏变成一个组件本身。
navbar.component.ts
import { Component } from '@angular/core';
import { RouterLinkActive } from '@angular/router';
@Component
({
selector : 'navbar',
templateUrl : './navbar.component.html'
})
navbar.component.html (你的导航栏 html 放在这里)
<ul>
<li routerLinkActive="active"><a routerLink="route1" >Route1 </a></li>
<li routerLinkActive="active"><a routerLink="route2" >Route2 </a></li>
<li routerLinkActive="active"><a routerLink="route3" >Route3 </a></li>
</ul>
然后在路由器出口上方嵌入导航栏组件:
<navbar></navbar>
<router-outlet></router-outlet>
我在这里有一个 Angular 5 种子项目:
推荐阅读
- angularjs - AngularJS:仅在某些数据存在时添加 ng-show 属性
- spring - Spring Feign Client JSON解析错误:非法字符
- git - Git引发简单合并的冲突
- java - 发送没有关键值的改造获取请求
- javascript - 为动态创建的输入标签分配和更新值 - jquery
- .net-core - 使用 Magick.Net 生成的 Pdf 文件的 png 是黑色的 #695
- rust - 如果我在代码的不同位置使用非可变变量,为什么会出现借用错误?
- c++ - 为什么 Visual Studio C++ 2019 说找不到 SDK 版本当我拥有它时
- kotlin - 如何更改 Korge NinePatch 的宽度和高度?
- flatbuffers - Flatbuffers:不同的字段名称但相同的偏移量