Angular Material 2 не может установить активную вкладку по умолчанию
Ниже код взят из 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'}
];
}
Когда я попытался запустить этот образец, навигация требует щелчка по дому, чтобы открыть компонент. Я хочу, чтобы содержимое дома отображалось изначально. Как установить первое значение в качестве активной вкладки по умолчанию?
1 ответ
Решение
Это потому, что маршрутизатор, скорее всего, находится в корневом маршруте /
, Если вы хотите, чтобы домашний маршрут был корневым, вам нужно настроить конфигурацию маршрутизатора для этого случая или установить по умолчанию домашний маршрут.
RouterModule.forRoot([{
path: '',
component: AppComponent,
children: [{
path: 'home',
component: HomeComponent,
}],
}, {
path: '**',
redirectTo: '/home',
}]);
В ваших текущих настройках, когда вы нажимаете вкладку Home, маршрутизатор перемещается по странице к /home
,