严格模式下不允许属性的多个定义-Angular

埃里克·索克(Eric Soyke)

我在IE的Angular(6)项目中遇到了此问题,导致该应用程序无法加载。它仅在应用程序的产品构建中发生,并由Angular连接并缩小。在“ ng serve”下运行的本地dev版本不会导致此问题。此错误是在Chrome开发者控制台中:

SCRIPT1046: Multiple definitions of a property not allowed in strict mode
File: main.51c74b0704ecaa189364.js, Line: 1, Column: 1263758

这是缩小的主脚本中所指的位置:

(6,{"col-6":0,"col-6":1})
埃里克·索克(Eric Soyke)

我发现我的ngClass在一些地方为不同的评估设置相同的类。我有一个通用的库函数mobile(),用于确定我们是在移动设备上还是小型桌面上,并相应地设置类(尤其是Bootstrap列,边距,填充等)。例如:

<div [ngClass]="{'col-12': mobile(), 'col-6': !mobile()}">

在某些情况下,我在一些地方都使用了相同的类,如下所示:

<div [ngClass]="{'col-6': mobile(), 'col-6': !mobile()}">                            

我意识到Bootstrap具有诸如col-sm-6和col-md-6之类的类以启用类似的变体,但这与这里无关。如果两个案例都被分配了相同的类,则这些类可以命名为“ foo”,这就是导致问题的原因。一旦将上面的内容重构为仅使用一个类,就很好了。

<div class='col-6'>

就根本原因而言,我不知道但欢迎任何投入。奇怪的是,有一次我因为这个原因(编译标识符“ col-6”)破坏了构建而遇到了编译器错误但是此代码中没有编译器错误,它可以干净地构建和部署,并且仅影响IE。我发现它的唯一方法是通过在错误附近查找一些未缩小的HTML文本来了解从何处开始查找。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Angular 2+:IE11中严格模式下不允许对属性进行多个定义

在Edge浏览器中,严格模式下不允许分配只读属性

在严格模式下不允许在对象常量中使用重复的数据属性grunt-connect-proxy

为什么在Javascript5严格模式下不允许删除?

如何使用createWriteStream避免“在严格模式下不允许使用八进制文字”

严格模式下不允许使用八进制文字

为什么在严格模式下不允许使用八进制数字文字(解决方法是什么?)

ReactJS中的“严格模式下不允许使用传统八进制文字”是什么意思?

如何避免使用jqGrid filterloader出现“ SyntaxError:严格模式下不允许使用八进制文字”消息

不允许使用Angular2多个构造函数实现TS2392

Angular - @Inject(MAT_DIALOG_DATA) 不允许属性访问

Angular CLI版本9.1.1的Visual Studio CODE中angular.json错误中的“属性不允许”

不允许使用Django + Angular方法PUT和POST

电子不能添加redux开发工具,未捕获的异常:SyntaxError:在严格模式下不允许八进制文字

“ *不允许模式”

多个 Angular 库在生产模式下不起作用

如何使用扩展定义,并且不允许以与多个验证器兼容的方式使用其他属性(JSON模式草案7)?

Django Angular Cors错误:不允许访问控制允许起源

Angular 1.6.3不允许1.5.8中允许的JSONP请求

从Angular JS调用到Web API错误:“ Access-Control-Allow-Origin”标头包含多个值,因此不允许访问Origin

Java / Hibernate-在只读模式下不允许写操作

FtpWebRequest错误:550大小在ASCII模式下不允许

在Angular js 1.4.7中,对象属性/字段名称是否应以字符串开头(不允许使用数字)?

在Angular中关闭严格模式?

打字稿错误:在严格模式下,块中不允许使用函数声明

Firebase 查询不允许对多个属性进行排序?

实体Bean不允许定义Map <String,Object>属性

是否可以控制Expando类在某些条件下不允许添加属性/成员?

不允许在 Angular 中选择下拉列表中的另一个值