Dee*_*pak 9 angular angular4-router
<a routerLink = "/add"></a><mat-tab label="Add Identity"></mat-tab>
or
<mat-tab label="Add Identity"> <a routerLink = "/add"></a></mat-tab>.
Run Code Online (Sandbox Code Playgroud)
我是Angular的新手,尝试使用上面Angular材质组件的路由.但是,当我点击"主页"选项卡时,它不会附加网址.对此有任何帮助.
Nir*_*ane 18
这就是我实施的方式。
应用程序组件.html
<nav mat-tab-nav-bar>
<a mat-tab-link
*ngFor="let link of navLinks"
[routerLink]="link.link"
routerLinkActive #rla="routerLinkActive"
[active]="rla.isActive">
{{link.label}}
</a>
</nav>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)
应用组件
export class AppComponent implements OnInit{
title = 'app';
navLinks: any[];
activeLinkIndex = -1;
constructor(private router: Router) {
this.navLinks = [
{
label: 'TabTest1',
link: './tabtest1',
index: 0
}, {
label: 'Tab Test2',
link: './tabtest2',
index: 1
}, {
label: 'Tab Test3',
link: './tabtest3',
index: 2
},
];
}
ngOnInit(): void {
this.router.events.subscribe((res) => {
this.activeLinkIndex = this.navLinks.indexOf(this.navLinks.find(tab => tab.link === '.' + this.router.url));
});
}
}
Run Code Online (Sandbox Code Playgroud)
路由.module.ts
const routes: Routes = [
{ path: '', redirectTo: '/tabtest1', pathMatch: 'full' },
{ path: 'tabtest1', component: TestComponent1},
{ path: 'tabtest2', component: TestComponent2},
];
export const appRouting = RouterModule.forRoot(routes);
@NgModule({
imports: [
RouterModule.forRoot(routes),
CommonModule
],
exports:[
RouterModule
],
declarations: []
})
export class AppRoutingModule { }
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助别人
Han*_*h C 15
你可以把它们组合成一个像这样的:
<a mat-tab-link [routerLink]="/add">Add Identity</a>
你还需要确保你正在使用<nav mat-tab-nav-bar>,而不是<mat-tab-group>.
文档:https://material.angular.io/components/tabs/overview#tabs-and-navigation
| 归档时间: |
|
| 查看次数: |
17704 次 |
| 最近记录: |