Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular RouterLink活动不';t在嵌套路由器出口内工作_Angular_Angular2 Routing - Fatal编程技术网

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
    }
  }