Мой URL-адрес localhost: port / home, когда я нажимаю на вкладку коврика, я хочу настроить URL-адрес на home / secondTab, home / thirdTab или home / firstTab. Я ожидал этого с такой настройкой, но это не работает.
Я хочу построить маршрут с целью, когда я сообщаю маршрутизатору router.navigate (['home / secondTab'], он загружает homecomponent и secondTabComponent, а пользователи заполняют второйTab в фокусе.
Ни один из дочерних маршрутов (home / secondTab), похоже, не работает, URL-адрес никогда не обновляется при нажатии, и когда я сам набираю URL-адрес home / secondTab, загружается HomeComponent. Короче говоря, ничего не работает и не может найти ни одного примера с такой же настройкой, как все используют nav mat + mat-tab-link
Я новичок в интерфейсной разработке, и официальная документация мне не так понятна. Нужен ли мне модуль маршрутизации для каждого компонента? Или я могу сделать их все в маршрутизации приложений в этой настройке? Возможно ли то, что я хочу с имеющейся у меня настройкой, или я что-то упускаю? Спасибо за вклад.
Для тех, кто указывает на nav mat + mat-tab-link, я не могу реорганизовать его таким образом, потому что другие потоки работают таким образом.
home.html
<mat-tab-group (selectedTabChange)="selectedTabChanged($event)" >
<mat-tab label="FirstTab" >
<app-FirstTab></app-FirstTab>
</mat-tab>
<mat-tab label="SecondTab" >
<app-SecondTab></app-SecondTab>
</mat-tab>
<mat-tab label="ThirdTab" >
<app-ThirdTab></app-ThirdTab>
</mat-tab>
</mat-tab-group>
home.ts
selectedTabChanged(event: any){
if(event.index == 0){
this.Service.refreshTab();
}
if(event.index == 1){
this.Service.makeApiCall();
}
if(event.index == 2){
}
}
navigation.html
<div>
<strong [routerLink]="['home/secondTab']" >
</strong>
</div>
app-routing.ts
const routes: Routes = [
Shell.childRoutes([
{ path: '', redirectTo: '/login', pathMatch: 'full' }, //works
{ path: 'home', component: HomeComponent }, //works
{ path: 'home/secondTab', component: SecondTabComponent } //loads HomeComponent
//OR
{ path: 'home/secondTab', component: HomeComponent, loadChildren: () =>
import ('./home/Second/Second.cmpnt').then(m => m.SecondTabComponent) }
])
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: []
})
export class HomeRoutingModule { }