I'm using Angular JS v1.1.5, and found an interesting IE-related issue.
In IE 9, 10, 11 and Edge, the following does not seem to work, even though it works fine in Chrome:
<div style="width: {{progress.percent()}}%;"></div>
Whereas this works in all browsers:
<div ng-style="{width: progress.percent() + '%'}"></div>
I'm curious why the first option doesn't work in IE/Edge. Are there any known bugs around this?
When IE 9 & 10 tries to render that HTML, it basically removes the invalid HTML found on HTML to be parse.
So having
style="display: {{'block'}}"
consider as invalid html, because it has unknown{{}}
syntax & it make that attribute rendered asstyle=""
Other than having
ng-style
there you could useng-attr-*
directive like belowwhich will create style attribute when
progress.percent()
value does changed.For more information look at this old logged github issue
How style attribute become ""?