0

下面的代码取自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 的内容。您如何将第一个值设置为默认活动选项卡?

4

1 回答 1

1

这是因为路由器最有可能在根路由/上。如果您希望主路由成为根路由,则需要为此设置路由器配置或将默认设置为主路由。

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

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

于 2018-03-19T15:47:05.720 回答