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

时间:2018-12-04 12:51:53

标签: angular internet-explorer angular6 internet-explorer-11 polyfills

我有一个可在Chrome中完美运行的Angular 6.x应用。问题是尝试在IE 11中运行它时出现错误:

  

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

enter image description here

已经尝试了StackOverflow中所有没有帮助的答案。我在这里列出主题,因此你们不会尝试使用它们作为答案:

  • 添加了IE所需的所有polyfill,但仍然存在相同的问题。
  • 添加到头标记中:

    <meta http-equiv="X-UA-Compatible" content="IE=11">
    

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我已找到问题并解决。我写这个答案是为了节省其他人面对这个问题的时间。

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

例如

p 标记中为dir属性分配变量,必须定义为 dir 属性,即:ltr | rtl | auto

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

myDir = undefinedmyDir = 'bla bla bla'或任何其他不正确的值时-我们会收到错误消息

myDir = 'rtl'或任何其他正确值时-我们不会出现错误。

添加了一个DEMO以在IE中运行,以查看此错误的再现。

结论我想我们可以说,绑定到HTML属性时,我们必须非常小心以拥有有效的属性值,这样我们就不会遇到这个问题。 / p>

答案 1 :(得分:0)

使用时,我也遇到此错误:

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

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

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