我有一个Angular 6.x应用程序在Chrome中完美运行。问题是当尝试在IE 11中运行它时,我收到错误:
错误:参数无效。在DefaultDomRenderer2.prototype.setProperty ...
已经尝试过StackOverflow中的所有答案,我可以在没有帮助的情况下找到。我在这里列出主题,所以你们不会尝试将它们作为答案:
<meta http-equiv="X-UA-Compatible" content="IE=11">
谢谢你的帮忙。
我发现了问题并修复了它。我正在写这个答案,以便为面临这个问题的其他人节省时间。
问题是将不正确的值变量绑定到HTML attribute(任何HTML属性)。
EG
将变量分配给p标签中的dir属性必须使用dir属性的可能值之一来定义,它们是:ltr | rtl | auto
在html中有这一行:<p [dir]="myDir">Test</p>
当myDir = undefined
或myDir = 'bla bla bla'
或任何其他不正确的值 - 我们将得到一个错误。
当myDir = 'rtl'
或任何其他正确的值 - 我们不会得到错误。
添加了DEMO以在IE中运行以查看此错误。
为了得出结论,我认为我们可以说,当绑定到HTML属性时,我们必须非常小心地获得有效属性的值,这样我们就不会遇到这个问题。
使用时我也遇到了这个错误:
const input = {
time: 'time',
date: 'date'
}
<input [type]="input.date"/>
<input [type]="input.time"/>
IE 11输入不支持日期和时间类型。所以IE不支持的任何元素都可能会抛出相同的错误。