Angular 升级后构建错误 - MediaQueryListEvent 无法分配为 MediaQueryList 类型

Vij*_*udi 1 angular-material angular-flex-layout angular angular-material-6

我已将 Angular 版本从 5.2 升级到 7.2.0,并使用以下版本的软件包:

@angular/flex-layout ”:“ ^7.0.0-beta.22 ”,打字稿版本3.2.2,“ @angular/cdk ”:7.2.1,“ @angular/cli7.1.4

我收到构建错误:

“MediaQueryListEvent”不可分配为 MediaQueryList 类型。

代码:

export class LayoutComponent implements OnInit, OnDestroy {

  private _router: Subscription;

  mediaMatcher: MediaQueryList = matchMedia(`(max-width: ${SMALL_WIDTH_BREAKPOINT}px)`);
  url: string;
  sidePanelOpened;

  constructor (
    private _element: ElementRef,
    private router: Router) {
    this.mediaMatcher.addListener(mql => zone.run(() => {
      this.mediaMatcher = mql; //i am getting error here Type 'MediaQueryListEvent' is not assignable to type 'MediaQueryList'.
                  //Property 'onchange' is missing in type 'MediaQueryListEvent'.
    }));
  }
 }
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Ger*_*zal 9

嗨,您可以尝试更改此行

zone.run(() => this.mediaMatcher = mql));
Run Code Online (Sandbox Code Playgroud)

为了这

zone.run(() => this.mediaMatcher = matchMedia(`(max-width: ${SMALL_WIDTH_BREAKPOINT}px)`)));
Run Code Online (Sandbox Code Playgroud)