如何在mat sidenav Angular 7中引用右routerlink?
我是新来的我需要在我的如何在mat sidenav Angular 7中引用右routerlink?,angular,angular7,Angular,Angular7,我是新来的我需要在我的mat列表项中使用与子mat sidenav内容中相同的路由器链接 例如: [routerLink]=“['/list',{outlets:{sidebar:['general',employee.userId]}}] 是正确的链接,我还需要与submat sidenav content中的链接相同。相反,我有以下路由器链接,这是不正确的: [routerLink]=“['/list',{outlets:{sidebar:['general',userId]}] 我不知道如
mat列表项中使用与子mat sidenav内容中相同的路由器链接
例如:
[routerLink]=“['/list',{outlets:{sidebar:['general',employee.userId]}}]
是正确的链接,我还需要与submat sidenav content
中的链接相同。相反,我有以下路由器链接,这是不正确的:
[routerLink]=“['/list',{outlets:{sidebar:['general',userId]}]
我不知道如何做到这一点,并将感谢任何帮助解决这个问题。多谢各位
<mat-sidenav-container class="sidenav-container">
<mat-sidenav #drawer class="sidenav" fixedInViewport [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'" [mode]="(isHandset$ | async) ? 'over' : 'side'" [opened]="(isHandset$ | async) === false">
<mat-toolbar>List of Employee</mat-toolbar>
<mat-nav-list>
<div *ngFor="let employee of employees">
<mat-list-item>
<a [routerLink]="['/list',{outlets: {sidebar: ['general', employee.userId]}}]">{{employee.firstName}}
</a>
</mat-list-item>
</div>
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
<mat-toolbar color="accent" class="navbar">
<span><a mat-list-item [routerLink]="['/list',{outlets: {sidebar: ['general', userId]}}]">
<mat-icon>assignment_ind</mat-icon>General
</a></span>
<span><a mat-list-item [routerLink]="['/list',{outlets: {sidebar: ['vehicleInformation', userId]}}]">
<mat-icon>directions_car</mat-icon>Vehicle Information
</a></span>
<span> <a mat-list-item [routerLink]="['/list',{outlets: {sidebar: ['OLOUserRights']}}]">
<mat-icon>vpn_key</mat-icon>OLO User Rights
</a></span>
</mat-toolbar>
<router-outlet name="sidebar"></router-outlet>
</mat-sidenav-content>
雇员名单
{{employee.firstName}
总任务
方向与车辆信息
vpn_keyOLO用户权限
**HTML**
{{employee.firstName}
**Ts文件**
senddata(){
这个.router.navigate(['/list',{outlets:{sidebar:['general',employee.userId]}]);
}
**HTML**
{{employee.firstName}
**Ts文件**
senddata(){
这个.router.navigate(['/list',{outlets:{sidebar:['general',employee.userId]}]);
}
这是我的解决方案:
<div *ngFor="let employee of employees">
<mat-list-item>
<a routerLinkActive="active" (click)='saveUserID(employee.userId)' [routerLink]="['/list',{outlets: {sidebar: ['general', employee.userId]}}]">{{employee.firstName}}
</a>list-item>
</div>
}这是我的解决方案:
<div *ngFor="let employee of employees">
<mat-list-item>
<a routerLinkActive="active" (click)='saveUserID(employee.userId)' [routerLink]="['/list',{outlets: {sidebar: ['general', employee.userId]}}]">{{employee.firstName}}
</a>list-item>
</div>
}谢谢!但是如何将当前Id传递给“senddata()”。每次从员工列表中导航到姓名时,我都需要使用此Employee.id。如何检测更改?(ngModelChange)=“senddata(employee.firstName)”您可以在每次更改时使用此选项,这将触发并发送特定的ID谢谢!但是如何将当前Id传递给“senddata()”。每次从员工列表中导航到姓名时,我都需要使用此Employee.id。如何检测更改?(ngModelChange)=“senddata(employee.firstName)”您可以在每次更改时使用它,这将触发并发送特定id
**Ts File**
saveUserID(id: number): void {
this.globalId = id;