代码之家  ›  专栏  ›  技术社区  ›  CompanyDroneFromSector7G

材料用户界面下拉菜单导致IE11出错

  •  0
  • CompanyDroneFromSector7G  · 技术社区  · 7 年前

    不幸的是,我们必须支持IE11。

    以下是我们的应用程序中的一个角度片段:

    <nav class="navbar-menu" fxFill>
        <span class="fill-it"></span>
        <span class="nav-user-wrap" fxFlexAlign="right">
            <button class="nav-user" mat-button [matMenuTriggerFor]="usrmenu">{{ userManager.currentDealer?.name }} <mat-icon class="icon-avatar">person</mat-icon><mat-icon class="icon-arrwdwn">keyboard_arrow_down</mat-icon></button>
            <mat-menu #usrmenu="matMenu" class="userdd mmdd" xPosition="after" yPosition="below" [overlapTrigger]="false">
                <span mat-menu-item [disabled]="true" [disableRipple]="true">{{ userManager.firstName }} {{ userManager.lastName }}</span>
                <mat-divider style="border-color: rgba(255,255,255,0.8); margin: 0 16px;"></mat-divider>
    
                <span mat-menu-item *ngIf="!userManager.isDealerGroupUser" (click)="openSelectDealerGroupDialog()">{{ userManager.dealerGroup?.name }}</span>
                <mat-divider *ngIf="!userManager.isDealerGroupUser" style="border-color: rgba(255,255,255,0.8); margin: 0 16px;"></mat-divider>
    
                <button *ngFor="let dealer of userManager.dealers" (click)="userManager.setCurrentDealer(dealer.id)" mat-menu-item>{{ dealer.name }} <span *ngIf="dealer.id === userManager.defaultDealer?.id">(Default)</span></button>
    
                <mat-divider style="border-color: rgba(255,255,255,0.8); margin: 0 16px;"></mat-divider>
                <!-- <button mat-menu-item>My Account</button>
                <button mat-menu-item>Settings</button> -->
                <button mat-menu-item (click)="logOut()">Logout</button>
            </mat-menu>
        </span>
    </nav>
    

    相当标准的下拉菜单,但在IE11中单击按钮会出现以下异常:

    Unable to get property 'opacity' of undefined or null reference
    

    我在拔头发,想找出原因。 IE11是否在后台执行某种伪脚本操作来设置CSS或其他内容?不知道。

    感谢大家的帮助!

    1 回复  |  直到 7 年前
        1
  •  0
  •   maryl    7 年前

    此错误是由于IE11缺少 Web Animation API ,要解决此问题,必须导入正确的polyfill,如中所述。 Angular Docs .

    import 'web-animations-js'