我正在尝试创建一个 Angular 指令,它将给定的元素集合划分为给定数量的列。
我想将此指令的内容用作各个项目的模板。
我的测试区域是:http://jsfiddle.net/e5aYt/1/
我的问题是:$compile
返回给定模板的链接函数,但是当我想将此函数应用于局部范围时,我收到错误消息“undefined is not a function”(两次, 对于每个绑定(bind) 1?).
一切看起来都是正确的(我认为,但浏览器/Angular 不同意我的看法),itemScope
-变量确实包含我的对象集合的 1 个元素。并且 itemTemplate 确实包含预期的模板。
我错过了什么?
最佳答案
感谢 charlietfl,我走上了正确的道路。
这里显示了一个可行的解决方案:http://jsfiddle.net/e5aYt/2/
将普通的 javascript 对象作为作用域传递是行不通的,不幸的是,angular 没有提供非常有用的错误消息。
使用 scope.$new(true)
创建正确类型的对象并使用 angular.extend
将一个对象的内容传递给另一个对象解决了我遇到的问题。
结果(包括不可见的数据年龄属性):
关于angularjs - Angular $compile 输出的链接函数给我 "undefined is not a function",为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573493/