Angular RouterLink活动不';t在嵌套路由器出口内工作
我有以下模板 应用程序:Angular RouterLink活动不';t在嵌套路由器出口内工作,angular,angular2-routing,Angular,Angular2 Routing,我有以下模板 应用程序: <app-header></app-header> <div class="container-fluid"> <router-outlet></router-outlet> </div> <div class="row mt-2"> <div class="col-md-10"> <router-outlet></router-outle
<app-header></app-header>
<div class="container-fluid">
<router-outlet></router-outlet>
</div>
<div class="row mt-2">
<div class="col-md-10">
<router-outlet></router-outlet>
</div>
<div class="col-md-2">
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link" routerLink="./category/all" routerLinkActive="active">
All Categories
</a>
</li>
<li class="nav-item" *ngFor="let category of categories">
<a class="nav-link" [routerLink]="['./category', category.id]" routerLinkActive="active">
{{category.name}}
</a>
</li>
</ul>
</div>
</div>
<ul class="nav nav-tabs mb-2">
<li class="nav-item">
<a class="nav-link" [routerLink]="['/articles/category', categoryId, 'best']" routerLinkActive="active">
Best
</a>
</li>
<li class="nav-item">
<a class="nav-link" [routerLink]="['/articles/category', categoryId, 'latest']" routerLinkActive="active">
Latest
</a>
</li>
</ul>
由于某种原因,当我浏览文章中的链接时,文章列表中的“最佳”链接模板不会激活。但是,一旦重新加载页面,它将变为活动状态
为什么link不将其状态更改为active,有没有办法解决这个问题?谢谢
编辑:路径匹配上的我的代码:
只有路径为空(路径:“”,
)的路由没有子路由时,才需要“完整”
。我会为每个选项(最佳、最新等)创建一个新组件,并将类别id作为变量保存在父路径中。我确信有一种方法可以让它按照你的方式工作,但它很复杂。我无法理解为什么它不工作,但我的答案是错误的exact:true
与您想要的正好相反,但我一开始误解了这个问题。可能是个bug,我也有同样的问题。有人找到解决办法了吗?
{
path: 'articles',
component: ArticlesComponent,
children: [
{
path: '',
pathMatch: 'full',
redirectTo: 'articles/category/all/best/all/page/0',
},
{
path: 'articles/category/:categoryId',
pathMatch: 'full',
redirectTo: 'articles/category/:categoryId/best/all/page/0',
},
{
path: 'articles/category/:categoryId/:sortOrder',
pathMatch: 'full',
redirectTo: 'articles/category/:categoryId/:sortOrder/all/page/0',
},
{
path: 'articles/category/:categoryId/:sortOrder/:filter/page/:page',
component: ArticlesListComponent,
resolve: {
page: ArticleResolver
}
}
],
resolve: {
categories: CategoriesResolver
}
}