Routerlink参数控制它的指令

时间:2016-10-04 15:59:27

标签: angular typescript angular2-routing

我有以下代码:

<a *ngIf="!menuItem.children" (mouseenter)="onHoverItem($event, item)" [routerLink]="[menuItem.url, menuItem.code]" [target]="menuItem.target" class="al-sidebar-list-link">
    <i *ngIf="menuItem.icon" class="{{ menuItem.icon }}"></i><span>{{ menuItem.title }}</span>
</a>

但有些链接有以下url

http://localhost:3000/URL/undefined

因为并非所有menuItems都设置了code

所以我想以角度执行以下操作:

如果设置了menuItem.code

<a *ngIf="!menuItem.children" (mouseenter)="onHoverItem($event, item)" [routerLink]="[menuItem.url, menuItem.code]" [target]="menuItem.target" class="al-sidebar-list-link">
    <i *ngIf="menuItem.icon" class="{{ menuItem.icon }}"></i><span>{{ menuItem.title }}</span>
</a>

否则:

<a *ngIf="!menuItem.children" (mouseenter)="onHoverItem($event, item)" [routerLink]="[menuItem.url]" [target]="menuItem.target" class="al-sidebar-list-link">
    <i *ngIf="menuItem.icon" class="{{ menuItem.icon }}"></i><span>{{ menuItem.title }}</span>
</a>

1 个答案:

答案 0 :(得分:2)

<a *ngIf="!menuItem.children" 
   (mouseenter)="onHoverItem($event, item)" 

   [routerLink]="[menuItem.url, menuItem.code!=undefined?menuItem.code:'']" //<<<<<<<<<<<<  here

   [target]="menuItem.target" class="al-sidebar-list-link">
   <i *ngIf="menuItem.icon" class="{{ menuItem.icon }}"></i><span>{{ menuItem.title }}</span>
</a>