Angular 6.x在IE 11中不起作用 - 错误:参数无效

问题描述 投票:0回答:2

我有一个Angular 6.x应用程序在Chrome中完美运行。问题是当尝试在IE 11中运行它时,我收到错误:

错误:参数无效。在DefaultDomRenderer2.prototype.setProperty ...

enter image description here

已经尝试过StackOverflow中的所有答案,我可以在没有帮助的情况下找到。我在这里列出主题,所以你们不会尝试将它们作为答案:

  • 添加了IE所需的所有polyfill但仍然存在相同的问题。
  • 在头标记中添加: <meta http-equiv="X-UA-Compatible" content="IE=11">

谢谢你的帮忙。

angular internet-explorer angular6 internet-explorer-11 polyfills
2个回答
0
投票

我发现了问题并修复了它。我正在写这个答案,以便为面临这个问题的其他人节省时间。

问题是将不正确的值变量绑定到HTML attribute(任何HTML属性)。

EG

将变量分配给p标签中的dir属性必须使用dir属性的可能值之一来定义,它们是:ltr | rtl | auto

在html中有这一行:<p [dir]="myDir">Test</p>

myDir = undefinedmyDir = 'bla bla bla'或任何其他不正确的值 - 我们将得到一个错误。

myDir = 'rtl'或任何其他正确的值 - 我们不会得到错误。

添加了DEMO以在IE中运行以查看此错误。

为了得出结论,我认为我们可以说,当绑定到HTML属性时,我们必须非常小心地获得有效属性​​的值,这样我们就不会遇到这个问题。


0
投票

使用时我也遇到了这个错误:

const input = {
   time: 'time',
   date: 'date'
}

<input [type]="input.date"/>
<input [type]="input.time"/>

IE 11输入不支持日期和时间类型。所以IE不支持的任何元素都可能会抛出相同的错误。

© www.soinside.com 2019 - 2024. All rights reserved.