当前位置: 首页 > 知识库问答 >
问题:

角度13中的IF和ElseIF条件

严宇
2023-03-14

我想隐藏< code >投资组合和< code >订单菜单。

我成功地用ngIf隐藏了投资组合菜单。

    <ul class="nav-links" *ngIf="menu.route !== '/portfolio'  || (currentPortfolio$ | async)">

我的问题是,我应该如何使用ElseIF隐藏/命令

    <ul class="nav-links" *ngIf="menu.route !== '/portfolio'  || (currentPortfolio$ | async)" ????>

我不太理解HTML和Angular语法。。。


    <ng-container *ngFor="let menu of menus; let i = index">
    <ul class="nav-links" *ngIf="menu.route !== '/portfolio'  || (currentPortfolio$ | async)">
    <li [ngClass]="{ selected: selectedTab === menu.route }">
       <a routerLink="{{ menu.route }}" routerLinkActive="active" (click)="toggleMenu(i); selectedTab = menu.route">
       <i class="{{ menu.class }}"></i>
       <span class="links_name"> {{ menu.item }} </span>
       <i class="{{ menu.arrowDown }} iconArrow" *ngIf="selectedTab !== menu.route || !showSubmenu[i]"></i>
       <i class="{{ menu.arrowUp }} iconArrow " *ngIf="selectedTab === menu.route && showSubmenu[i]"></i>
       </a>
    </li>

编辑

<ng-container *ngFor="let menu of menus; let i = index">
   <ul class="nav-links" *ngIf="menu.route !== '/portfolio'  || (currentPortfolio$ | async); else elseBlock">
      <li [ngClass]="{ selected: selectedTab === menu.route }">
         <a routerLink="{{ menu.route }}" routerLinkActive="active" (click)="toggleMenu(i); selectedTab = menu.route">
         <i class="{{ menu.class }}"></i>
         <span class="links_name"> {{ menu.item }} </span>
         <i class="{{ menu.arrowDown }} iconArrow" *ngIf="selectedTab !== menu.route || !showSubmenu[i]"></i>
         <i class="{{ menu.arrowUp }} iconArrow " *ngIf="selectedTab === menu.route && showSubmenu[i]"></i>
         </a>
      </li>
      <ng-container *ngFor="let submenu of menu.submenus; let j = index">
         <li *ngIf="showSubmenu[i]">
            <a routerLink="{{ submenu.route }}">
            <i class="{{ submenu.class }} pl20"></i>
            <span class="links_second_name"> {{ submenu.item }} </span>
            </a>
         </li>
      </ng-container>
      <li class="log_out">
         <a href="#" (click)="logoff() ">
         <i class="bx bx-log-out"></i>
         <span class="links_name">Log out</span>
         </a>
      </li>
   </ul>
   <ng-template #elseBlock>
      <ul class="nav-links" *ngIf="menu.route !== '/orders'  || (currentPortfolio$ | async)">
      </ul>
   </ng-template>
</ng-container>

共有1个答案

程祺
2023-03-14

您可以使用 else 渲染替代模板 ng-template,如下所示:

<ul
  class="nav-links"
  *ngIf="
    menu.route !== '/portfolio' || (currentPortfolio$ | async);
    else elseBlock
  "
>
  <!-- ... -->
</ul>
<ng-template #elseBlock>
  <ul>
    <!-- ... -->
  </ul>
</ng-template>

在此处阅读有关使用 else 显示替代模板的更多信息:https://angular.io/api/common/NgIf#showing-an-alternative-template-using-else

 类似资料:
  • 我有一个简单的角度/html代码,其中有一个表,每个

  • if statements in Smarty have much the same flexibility as php if statements, with a few added features for the . Everyif must be paired with an/if .else andelseif are also permitted. "eq", "ne","neq",

  • 概要 <#if condition> ... <#elseif condition2> ... <#elseif condition3> ... ... <#else> ... </#if> 这里: condition, condition2, 等:将被计算成布尔值的表达式。 elseif 和 else 是可选的。 描述 你可以使用 if, elseif 和 else 指令来条

  • 一个If语句后面跟着一个或多个ElseIf语句,这些语句由布尔表达式组成,然后是一个默认的else语句,当所有条件都变为false时执行。 语法 (Syntax) 以下是VBScript中If Elseif - Else语句的语法。 If(boolean_expression) Then Statement 1 ..... ..... Statement n ElseIf

  • if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea

  • if语句后面可以跟一个else if...else语句,这对于使用单个if...else if语句测试各种条件非常有用。 语法 (Syntax) if...else if...else语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ } else if boolea