首页 > 解决方案 > Material-UI 下拉菜单在更新到 Angular 8 后导致 IE11 中的错误

问题描述

打开材质菜单时,材质为 8 的 Angular 8 应用程序在 IE11 上引发以下错误:

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

它适用于 Angular 7.2。使用的 IE11 版本:11.1146.16299.0 更新版本:11.0.125

新的项目依赖版本:

"dependencies": {
"@angular/animations": "^8.0.0",
"@angular/cdk": "^8.0.0",
"@angular/common": "~8.0.0",
"@angular/compiler": "~8.0.0",
"@angular/core": "~8.0.0",
"@angular/forms": "~8.0.0",
"@angular/material": "^8.0.0",
"@angular/platform-browser": "~8.0.0",
"@angular/platform-browser-dynamic": "~8.0.0",
"@angular/router": "~8.0.0",
"classlist.js": "^1.1.20150312",
"core-js": "^3.1.3",
"rxjs": "~6.5.2",
"tslib": "^1.9.0",
"web-animations-js": "github:angular/web-animations-js#release_pr208",
"zone.js": "~0.9.1"

}

简单菜单

<mat-menu #appMenu="matMenu">
  <button mat-menu-item>Menu Item 1</button>
</mat-menu>

<button mat-button [matMenuTriggerFor]="appMenu">
  Menu
</button>

已经使用过的 pollyfills:

import 'classlist.js';  // Run `npm install --save classlist.js`.
import 'web-animations-js'; // Run `npm install --save web-animations-js`.

IE 堆栈跟踪: IE 堆栈跟踪

我使用新创建的 Angular 8 应用程序验证了该问题,该应用程序仅包含应用程序组件中的菜单。

有人对如何解决这个问题有任何建议吗?谢谢

标签: angularangular-materialinternet-explorer-11material-uiangular8

解决方案


尝试添加import 'core-js/es/symbol';到 polyfill


推荐阅读