我是Angular的新手,并且一直在尝试使用小样本来学习代码。 首先,我要感谢stackoverflow.com上发布的精彩解决方案。 从不必要的调试中保存了这么多个小时!
我正在构建一个简单的展开器折叠组件。代码可用 在一个有角度的js电子书中。
我为同一个http://plnkr.co/edit/f2u32x2w0FJK1AzvVPEx?p=preview创建了一个插件 该组件运行良好。除了在IE 8中,我收到以下错误:
TypeError:Object不支持此属性或方法未定义
该组件呈现正常。但是总会出现这种错误。
事实证明,罪魁祸首就是这条线:
<expander class='expander' ng-repeat='expander in expanders' expander-title='expander.title'>{{expander.text}}</expander>
,特别是部分:
{{expander.text}}
有人可以告诉我,我在这里做错了什么吗?我只是将child指令的内容转换为其模板。然后我将孩子转入父母。 这是什么问题? :(
答案 0 :(得分:1)
问题在于您使用了IE无法识别的自定义HTML元素(<expander>
)。在受支持的元素(例如,<div expander>...</div>
)或JavaScript中使用属性表示法,创建元素以便IE识别它:
document.createElement('expander');
<强>参考强>
答案 1 :(得分:1)
好吧,你可能会考虑在Angular脚本之前加入IE8的“全面”jQuery。 这可以消除错误,直到问题可以在AJS / jQLite本身修复......
备注:只接受jQuery&lt; 2.0,因为2.0+不兼容IE8。