1

我是 Angular 的新手,一直在尝试小样本来学习代码。首先,我要感谢在 stackoverflow.com 上发布的出色解决方案。从不必要的调试中节省了我很多时间!

我正在构建一个简单的扩展器折叠组件。Angular js 电子书中提供的代码。

我为相同的http://plnkr.co/edit/f2u32x2w0FJK1AzvVPEx?p=preview创建了一个 plunk 该组件效果很好。除了在 IE 8 中,我收到以下错误:

TypeError:对象不支持此属性或方法未定义

该组件渲染良好。但是总是伴随着这个错误发生。

事实证明,罪魁祸首是这条线:

<expander class='expander' ng-repeat='expander in expanders' expander-title='expander.title'>{{expander.text}}</expander>

特别是部分:

{{expander.text}}

有人能告诉我我在这里做错了什么吗?我只是将子指令的内容嵌入到它的模板中。然后我将孩子融入父母。这里有什么问题?:(

4

2 回答 2

1

好吧,您可能会考虑在 Angular 脚本之前为 IE8 包含“成熟的”jQuery。这消除了错误,直到问题可能在 AJS/jQLite 本身中得到解决......

备注:只取 jQuery < 2.0,因为 2.0+ 不兼容 IE8。

于 2013-11-28T14:46:17.380 回答
1

问题在于您使用了<expander>IE 无法识别的自定义 HTML 元素 ( )。在受支持的元素(例如<div expander>...</div>)或 JavaScript 中使用属性表示法,创建元素以便 IE 识别它:

document.createElement('expander');

参考

  1. AngularJS:Internet Explorer 兼容性
于 2013-10-08T12:31:31.117 回答