Angular 1.2.27在IE7下的兼容问题

最近负责公司的一个国外项目,老外指定要用angular,并且要兼容到IE7。

项目使用的是Angular版本是1.2.27,为了能在IE7下跑,需要做如下配置

1. 加载json2.js

2. 加载html5shiv.js

3. 加载angular相关文件

4. 加载angular-ie7-support文件 (这个文件主要解决ng的$sceProvider的问题)

5. 加载你的angular app

配置完成,IE7下已经能正常运行,但是发现指令没有被正确显示出来,而IE8以上却都运行正常。

最为诡异的是没有抛出任何异常信息,看来IE7还在做怪。。。

由于项目是用Browserify做构建,一开始怀疑是Browserify的问题,经过测试,在IE7下Browserify正常运行。

后来经过排查,发现是指令模板的问题,举个例子:

<div>
    <img ng-src="item.imagePath" class="{{item.iconClass}}"/>
</div>

上面的模板中,element的attribute绑定在IE7下不能直接使用 class="{{item.iconClass}}",改用 ng-class="item.iconClass" 就运行正常了!!

我只能说两个字:坑啊!

草拟此文,希望能帮其它同学绕开这个坑。

PS: 尊重他人原创,转载请务必注明来自 http://www.cnblogs.com/Raoh/p/4225454.html 

博客已搬迁新址:ovaldi.github.io
原文地址:https://www.cnblogs.com/Raoh/p/4225454.html