首页 > 解决方案 > 侧边菜单中的更新指令 - Ionic4/Angular

问题描述

我的场景:我在 appcomponent 中运行了一个侧边菜单。

<ion-menu  class="home-menu" side="start" menuId="home-menu" contentId="main">
 
    <ion-content *ngIf="!isHome()" class="dashboard-menu">

      <!-- Menu -->
      <ion-list class="menu-list" lines="none">
        <div *ngFor="let menu of myMenu; let i = index">    
          <ion-item
            *hasRole="'CREDENCIAL,PERMITION'" <<< **DIRECTIVE HERE**
          >
            <ion-img
              class="menu-ico"
              src="../assets/png/iconsMenu/{{ menu.icon }}.png"
            ></ion-img>
  
            <ion-label>{{ menu.name }}</ion-label>
  
            <ion-img
              class="menu-arrow"
              slot="end"
              [src]="
                mySubMenu === menu.submenu
                  ? '../assets/png/icon_arrow_up.png'
                  : '../assets/png/icon_arrow_down.png'
              "
            ></ion-img>
  
          </ion-item>
        
          
          <ion-menu-toggle auto-hide="false">
            <ion-list lines="none">
              <div *ngFor="let child of menu.childs; let i = index">
                <ion-item
                  detail="false"
                  menuclose
                  [routerLink]="[child.path]"
                  menuClose
                  class="sub-menu"
                >
                  {{ child.name }}
                </ion-item>
              </div>
            </ion-list>
          </ion-menu-toggle>
          
        </div>
      </ion-list>
    </ion-content>
  </ion-menu>

请注意,有指令 * hasRole,该指令获取其中包含的值并将其与 sessionStorage 中包含的值进行比较,如果这些值存在于会话中,则显示该项目。碰巧当会话更新时,该指令在仪表板页面中被调用,但在菜单中没有任何反应。*菜单中的hasRole值不会随着会话更新而重新评估。嗯,在仪表板上。怎么了?谁能帮我这个?像这样输入:重新创建会话时,菜单中的 * hasRole不会将其值发送到 hasRole.ts 并将其与会话值进行比较。

标签: angularionic4rolesjscriptside-menu

解决方案


推荐阅读