angularjs 高级玩法 创建递归的模板 兼容IE浏览器
来源:互联网 发布:c语言九九乘法表代码 编辑:程序博客网 时间:2024/05/17 18:43
说到兼容IE7 IE8浏览器,angularjs官方已经明确说明:v1.3 之后的版本(含v1.3)都将不支持 IE7 IE8了,所以如果想要兼容IE7 IE8 就必须使用 v1.3以下的版本
上一篇文章说到递归玩法,但是IE7 IE8是玩不通的,原理我简单解释一下,
angularjs在加载一个模板的时候,会进行解析内容,把内容转换成Element(元素或者说节点),这里问题就来了,在IE9+ 、chrome这些浏览器,会把 <script>这种标签也当作是一种Element来处理,但是在IE7 IE8则不会,因此,加载模板时,angularjs不会把script的内容放到$templateCache缓存中,而ng-include实际上就是在$templateCache缓存中取模板的,所以ng-include取不到script的内容,导致IE7 IE8没有显示我们想要的结果
解决办法:
既然问题已经知道,那么我们只要在ng-include获取$templateCache的script之前,往$templateCache插入一个递归的代码,那就解决了
$templateCache有两个方法我们可以用到,get 和 put,
$templateCache.get( key )
$templateCache.put( key, value )
我们可以在控制器中,调用$templateCache.put方法,把原本script的id作为key,script里面的内容作为value,传给$templateCache那就可以实现原本的递归功能了
0 0
- angularjs 高级玩法 创建递归的模板 兼容IE浏览器
- angularjs 高级玩法 创建递归的模板
- IE浏览器的兼容模式
- 针对IE的浏览器兼容
- 构建兼容浏览器的Angularjs web应用
- [AngularJS]浏览器兼容
- 兼容IE系列浏览器的CSS Hack
- jplayer不兼容IE浏览器的问题
- placeholder在ie浏览器的兼容
- 实现ie浏览器对placeholder的兼容
- 兼容IE浏览器的css样式
- IE 浏览器下的兼容(onclick)
- 记最近ie浏览器的兼容
- css 兼容ie浏览器的方法
- 兼容IE浏览器的时间格式
- IE 浏览器兼容 代码
- IE浏览器兼容
- ie浏览器兼容插件
- BLE4.0 资料
- Linux Command
- 31. Element previousSibling 属性
- lucene的使用详解
- linux下的find文件查找命令与grep文件内容查找命令
- angularjs 高级玩法 创建递归的模板 兼容IE浏览器
- iOS开发之Objective-C(Swift)与JavaScript交互·WebViewJavascriptBridge使用篇
- 【iOS学习笔记】CocoaPods使用详细说明
- 32. Element tabIndex 属性
- Ajax(一) — Ajax的核心与异步原理
- Android开发笔记----界面布局及在布局上动态地增加删除子元素
- QTabWidget 样式表必知必会
- 获取带有emoji的字符串宽度和高度
- javaScript对Cookie的添加,获取,删除等操作