IE中的AngularJS错误与样式与ng样式

AngularJS bug in IE with style vs ng-style

本文关键字:样式 ng 错误 中的 AngularJS IE      更新时间:2023-09-26

我正在使用Angular JS v1.1.5,发现了一个有趣的IE相关问题。

在IE 9,10,11和Edge中,以下内容似乎不起作用,即使它在Chrome中工作正常:

<div style="width: {{progress.percent()}}%;"></div>

虽然这适用于所有浏览器:

<div ng-style="{width: progress.percent() + '%'}"></div>

我很好奇为什么第一个选项在 IE/Edge 中不起作用。这周围是否有任何已知的错误?

当IE 9和10尝试渲染该HTML时,它基本上会删除在HTML上找到的无效HTML进行解析。

因此,style="display: {{'block'}}"认为 html 无效,因为它具有未知的{{}}语法,并且使该属性呈现为style=""


除了在那里ng-style之外,您还可以使用如下所示ng-attr-*指令

<div ng-attr-style="{{'width: '+ progress.percent() +'%;'}}"></div>

这将在值更改时创建样式属性progress.percent()

有关更多信息,请查看此旧的记录 github 问题

样式属性如何变为"?

问题也发生在边缘。 就这样写

[ngStyle]="{'width.px': 20}"