Angular $ compile输出的链接函数给我“未定义不是函数”,为什么?

时间:2014-07-04 11:42:31

标签: angularjs directive

我正在尝试创建一个Angular指令,该指令将在给定数量的列上划分给定的元素集合。

the idea
我可以将此指令的内容用作单个项目的模板。

我的测试区域是:http://jsfiddle.net/e5aYt/1/

我的问题是:$compile返回给定模板的链接函数,但是当我想将此函数应用于本地范围时,我得到错误' undefined不是函数' (两次,每次绑定1?)。

the compiling code

所有看起来都是正确的(我认为,但浏览器/角度不同意我),itemScope - 变量确实包含我的对象集合的1个元素。 itemTemplate确实包含了预期的模板。

我缺少什么?

1 个答案:

答案 0 :(得分:3)

感谢charlietfl我走上正轨。

此处显示了一个有效的解决方案:http://jsfiddle.net/e5aYt/2/

传递普通的javascript对象作为作用域不起作用,遗憾的是,angular不会提供非常有用的错误消息。 使用scope.$new(true)创建一个正确类型的对象,并使用angular.extend将一个对象的内容传递给另一个对象解决了我遇到的问题。

enter image description here

结果(包括不可见的data-age属性):

enter image description here