编程语言
首页 > 编程语言> > javascript-Angular 2:IE11中严格模式下不允许属性的多个定义

javascript-Angular 2:IE11中严格模式下不允许属性的多个定义

作者:互联网

我放入了pollyfills,并且在main.bundle.js中从Internet Explorer 11中收到此错误.它在9692行上,但是查看编译后的代码,我无法理解它.这里是:

    styles: ["\nng-select-custom >>> .caret {\n  /* display: none; */\n}\nng-select-custom >>> .ui-select-match-text {\n  white-space: normal;\n  line-height: 21px;\n}\nng-select-custom >>> .ui-select-toggle {\n  overflow: hidden;\n}\n"]

这是Angular 2的常见问题吗?我没有看到有关NG2的任何帖子.

更新:这是有关代码的更多上下文:

DropdownRuleInputComponent = __decorate([
    __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({
        selector: 'dropdown-rule-input',
        template: "\n  <ng-select-custom\n    [class.invalid]=\"invalidShowing\"\n    [items]=\"items\"\n    [active]=\"activeSelection\"\n    (selected)=\"selection = $event\"\n    placeholder=\"Click for options\">\n  </ng-select-custom>\n  ",
        styles: [__webpack_require__("../../../../../../pushgraph-client/lib/search/rule-inputs/default-styles.sass")],
        styles: ["\nng-select-custom >>> .caret {\n  /* display: none; */\n}\nng-select-custom >>> .ui-select-match-text {\n  white-space: normal;\n  line-height: 21px;\n}\nng-select-custom >>> .ui-select-toggle {\n  overflow: hidden;\n}\n"]
    }),
    __metadata("design:paramtypes", [typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__shared_search_service__["a" /* SearchService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__shared_search_service__["a" /* SearchService */]) === "function" && _d || Object])
], DropdownRuleInputComponent);

解决方法:

我有同样的问题,它仍然存在于Angular中.

错误原因

SyntaxError: Multiple definitions of a property not allowed in strict mode

原因是:您已将styleUrls和样式都添加到一个组件中.
您可以在粘贴的webpack捆绑包代码中清楚地看到它们,styles属性创建了2次.

奇怪的是,只有IE 11才有问题:)

重新排列样式并删除样式或styleUrl.只留下其中之一.

IE11中损坏的组件示例

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
  // with both `styleUrls` and `styles` IE11 crashes
  styles: [`
    h2 {
      color: red;
    }
  `]
})
export class AppComponent {}

复制环境

我已经在全新的Angular版本上进行了检查,但这仍然是一个问题:

Angular: 5.2.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0

标签:angular,typescript,internet-explorer,internet-explorer-11,javascript
来源: https://codeday.me/bug/20191025/1932465.html