javascript - IE 中的 AngularJS 错误与风格 vs ng 风格

标签 javascript css angularjs internet-explorer microsoft-edge

我正在使用 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 issue

How style attribute become ""?

关于javascript - IE 中的 AngularJS 错误与风格 vs ng 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36072798/

相关文章:

javascript - 在 AngularJS 中访问指令内部的 $route

javascript - Webpack 文件加载器发出的 png 名称与发出的 bundle.js 中引用的名称不同

css - Twitter Bootstrap 模态背景不固定

css - 如何将路径添加到剪辑路径

javascript - 使用 MEAN 堆栈查询关联模型

AngularJS 转换响应

javascript - 带有 {{}} 指令属性的 Angular

javascript - 在可点击框内创建可点击链接(<a href> 内的 ActionLink)

javascript - ionic 2推()方向: 'back' option not functioning properly

javascript - 从 API 提取数据时的微调器 (Javascript)