如果URL存在,则在routerLink中进行条件路由Angular 4

时间:2018-02-17 16:30:40

标签: angular

我生成一个侧面导航,一些对象有URL属性,有些则没有(它们用于生成子菜单)。

我的HTML模板看起来像这样

<li *ngFor="let menu of navMenu;index as i" routerLink="{{menu.url}}">
....some stuff
</li>

我需要,如果menu.url存在则执行路由,否则什么都不做,现在如果menu.url不存在则转到/ route.

2 个答案:

答案 0 :(得分:1)

只需使用* ngIf

添加支票即可
<ng-container *ngFor="let menu of navMenu;index as i">
  <li *ngIf="menu.url"  routerLink="{{menu.url}}">
    ....some stuff
  </li>
</ng-container>

答案 1 :(得分:1)

假设menu.url具有绝对路径,只需执行以下操作:

<li *ngFor="let menu of navMenu;index as i" [routerLink]="menu.url ? [menu.url]: []">
....some stuff
</li>