我正在使用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中不起作用。有没有任何已知的错误?
答案 0 :(得分:8)
当IE 9&amp; 10尝试呈现该HTML,它基本上删除了要在HTML上解析的无效HTML。
因此将style="display: {{'block'}}"
视为无效的html,因为它具有未知的{{}}
语法&amp;它使该属性呈现为style=""
除了ng-style
之外,您可以使用ng-attr-*
指令,如下所示
<div ng-attr-style="{{'width: '+ progress.percent() +'%;'}}"></div>
,当progress.percent()
值发生更改时,将创建样式属性。
有关详细信息,请查看此旧记录的github issue
答案 1 :(得分:0)
问题也发生在边缘。像这样写
functools.partialmethods