Angular 如果URL存在,则routerLink中的条件路由为4

Angular 如果URL存在,则routerLink中的条件路由为4,angular,Angular,我正在生成一个侧导航,一些对象具有URL属性,而一些对象没有(它们用于生成子菜单) 我的HTML模板如下所示 <li *ngFor="let menu of navMenu;index as i" routerLink="{{menu.url}}"> ....some stuff </li> ……一些东西 我需要的是,如果menu.url存在,则执行路由,否则不执行任何操作,如果menu.url不存在,则立即转到/route。只需使用*ngIf添加一个检查即可 &

我正在生成一个侧导航,一些对象具有URL属性,而一些对象没有(它们用于生成子菜单)

我的HTML模板如下所示

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

……一些东西


我需要的是,如果
menu.url
存在,则执行路由,否则不执行任何操作,如果menu.url不存在,则立即转到
/route。

只需使用*ngIf添加一个检查即可

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


……一些东西


只需使用*ngIf添加一张支票即可

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


……一些东西


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

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

……一些东西


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

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

……一些东西


但我想渲染可以完成的liYea。。。但是有没有什么方法可以将menu.url的值设置为它不执行路由的值呢?你可以使用条件路由,因为它已经工作了,一次更新,但我想呈现可以执行的liYea。。。但是,我是否可以通过某种方式将menu.url的值设置为它不执行路由的值您可以使用条件路由。如果成功,一次更新也尝试了条件路由,但是[]与“/”路由匹配。我需要它来忽略路线你说的“忽略路线”是什么意思?当menu.url为null时,是否不应生成链接?(基本上点击li元素不会有任何效果)你是对的,我有一些其他问题,这就是为什么它被路由到/,在更正后,它说在同一个路由上,它也感谢有条件路由,但是[]匹配到“/”路由。我需要它来忽略路线你说的“忽略路线”是什么意思?当menu.url为null时,是否不应生成链接?(基本上点击li元素不会有任何效果)你是对的,我有一些其他问题,这就是为什么它被路由到/,更正后,它在同一个路由上说谢谢