if else 条件在 for 循环中使用 angular

if else condition inside for loop using angular

我正在执行一项任务,我在标签内循环数组并使用 target="_blank" 属性,但数组元素之一不应该需要此 target="_blank" 属性,所以该怎么办?

<ul *ngIf="item.menu">
            <li *ngFor="let subMenu of item.menu">
              <a href="{{subMenu.link}}" target="_blank">{{'landing.menu.' + subMenu.name | translate}}</a>
            </li>
          </ul>

您可以通过[attr.target]

有条件地添加目标属性
<ul *ngIf="item.menu">
  <li *ngFor="let subMenu of item.menu">
    <a href="{{subMenu.link}}" [attr.target]="subMenu.link ? '_blank': null">{{'landing.menu.' + subMenu.name }}</a>
  </li>
</ul>

你可以测试here

您可以在任何标签 属性 周围使用 [target] 来向其添加 JS/TS 代码。

 <a href="{{subMenu.link}}" [target]="condition ? '_blank' :'other target type'">{{'landing.menu.' + subMenu.name | translate}}</a>

其他目标类型列表:https://www.w3schools.com/tags/att_a_target.asp