将错误作为错误TypeError:在IE 11中参数不是可选的

问题描述

以下代码可在所有其他浏览器中使用,但IE中的IE11除外,它会引发以下错误,例如“ ERROR TypeError:参数不可选”,并且正在Angular 10中开发项目。

 private togglePageClass(mode: boolean) {
    if (mode) {
      document.getElementById('templateHolder')['classList'].add(...this.pageClass);
    } else {
      document.getElementById('templateHolder')['classList'].remove(...this.pageClass);
    }
  }

并且页面类值设置如下

 let Mode: string = this.pageLayout['settings']['mode'].split('-')[1];
    if (this.pageLayout['template'] === 'landing_page') {
      this.pageClass = [this.pageLayout['settings']['id'],'page-landing'];
    } else if (this.getConfig('configSettings')['100'] === 'on') {
      if (this.pageLayout['settings']['mode'] === 'abc') {
        this.pageClass = [this.pageLayout['settings']['id'],'page-' + this.pageLayout['template'],Mode,'a'];
      } else if (this.pageLayout['settings']['mode'] === 'xyz') {
        this.pageClass = [this.pageLayout['settings']['id'],'b'];
      } else {
        this.pageClass = [this.pageLayout['settings']['id'],Mode];
      }
    } else {
      this.pageClass = [this.pageLayout['settings']['id'],Mode];
    }

并且我已经按照angular.io准则对angular json和相关文件进行了所有必要的更改,以使能够在ie 11中运行应用程序

解决方法

在IE11中,我也遇到了角材料中md-checkbox的问题。我通过执行以下更改来解决此问题。 这来自 document.createTreeWalker(element,NodeFilter.SHOW_TEXT,null)此方法,我添加了 false 作为第四个参数,已修复了我的错误。