Angular Material 2无法设置默认活动选项卡

时间:2018-03-19 15:42:46

标签: angular angular-material2 routerlink routerlinkactive angular2-md-tabs

以下代码取自material.angular.io

<nav mat-tab-nav-bar>
  <a mat-tab-link
     *ngFor="let link of navLinks"
     [routerLink]="link.path"
     routerLinkActive #rla="routerLinkActive"
     [active]="rla.isActive">
    {{link.label}}
  </a>
</nav>

<router-outlet></router-outlet>

成分:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  navLinks = [
    {label: 'Home', path: 'home'},
    {label: 'Contacts', path: 'contacts'},
    {label: 'Settings', path: 'settings'}
  ];
}

当我尝试运行此示例时,导航器需要单击home才能打开该组件。 我希望最初显示home的内容。 如何将第一个值设置为默认活动选项卡?

1 个答案:

答案 0 :(得分:1)

这是因为路由器很可能位于根路由/。如果您希望归属路由成为根路由,则需要将路由器配置设置为这种情况,或将默认路由设置为归属路由。

RouterModule.forRoot([{
  path: '',
  component: AppComponent,
  children: [{
    path: 'home',
    component: HomeComponent,
  }],
}, {
  path: '**',
  redirectTo: '/home',
}]);

在当前设置中,当您单击“主页”选项卡时,路由器正在将页面导航到/home