Angular 6.x not working in IE 11 - Error: Invalid argument
Angular 6.x not working in IE 11 - Error: Invalid argument
我有一个 Angular 6.x 应用 运行 非常适合 Chrome。问题是在 IE 11 中尝试 运行 时,出现错误:
Error: Invalid argument. at DefaultDomRenderer2.prototype.setProperty...
我已经尝试了 Whosebug 中我无法找到的所有答案。我在这里列出主题,这样你们就不会尝试将它们作为答案:
- 添加了 IE 所需的所有 polyfill,但仍然有同样的问题。
在头标签中添加:
<meta http-equiv="X-UA-Compatible" content="IE=11">
感谢您的帮助。
我已经找到问题并解决了。我写这个答案是为了为其他面临这个问题的人节省时间。
问题 将 不正确的 值变量绑定到 HTML attribute(任何 HTML 属性)。
例如
将变量分配给 p 标记中的 dir 属性,必须 定义为可能的值之一对于 dir 属性,它们是:ltr | rtl | auto
在 html 中有此行:<p [dir]="myDir">Test</p>
当 myDir = undefined
或 myDir = 'bla bla bla'
或任何其他不正确的值时 - 我们将得到一个错误。
当 myDir = 'rtl'
或任何其他正确值时 - 我们 不会 得到错误。
在 IE 中添加了 DEMO 到 运行 以查看重现的错误。
结论 我想我们可以说,当绑定到 HTML 属性时,我们必须非常小心地获得有效的属性值,这样我们不会遇到这个问题。
我在使用时也出现了这个错误:
const input = {
time: 'time',
date: 'date'
}
<input [type]="input.date"/>
<input [type]="input.time"/>
IE 11 输入不支持日期和时间类型。所以 IE 不支持的任何元素都可能会抛出相同的错误。
我有一个 Angular 6.x 应用 运行 非常适合 Chrome。问题是在 IE 11 中尝试 运行 时,出现错误:
Error: Invalid argument. at DefaultDomRenderer2.prototype.setProperty...
我已经尝试了 Whosebug 中我无法找到的所有答案。我在这里列出主题,这样你们就不会尝试将它们作为答案:
- 添加了 IE 所需的所有 polyfill,但仍然有同样的问题。
在头标签中添加:
<meta http-equiv="X-UA-Compatible" content="IE=11">
感谢您的帮助。
我已经找到问题并解决了。我写这个答案是为了为其他面临这个问题的人节省时间。
问题 将 不正确的 值变量绑定到 HTML attribute(任何 HTML 属性)。
例如
将变量分配给 p 标记中的 dir 属性,必须 定义为可能的值之一对于 dir 属性,它们是:ltr | rtl | auto
在 html 中有此行:<p [dir]="myDir">Test</p>
当 myDir = undefined
或 myDir = 'bla bla bla'
或任何其他不正确的值时 - 我们将得到一个错误。
当 myDir = 'rtl'
或任何其他正确值时 - 我们 不会 得到错误。
在 IE 中添加了 DEMO 到 运行 以查看重现的错误。
结论 我想我们可以说,当绑定到 HTML 属性时,我们必须非常小心地获得有效的属性值,这样我们不会遇到这个问题。
我在使用时也出现了这个错误:
const input = {
time: 'time',
date: 'date'
}
<input [type]="input.date"/>
<input [type]="input.time"/>
IE 11 输入不支持日期和时间类型。所以 IE 不支持的任何元素都可能会抛出相同的错误。