angularjs - Angular $compile 输出的链接函数给我 "undefined is not a function",为什么?

标签 angularjs directive

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

the idea
我想将此指令的内容用作各个项目的模板。

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

我的问题是:$compile 返回给定模板的链接函数,但是当我想将此函数应用于局部范围时,我收到错误消息“undefined is not a function”(两次, 对于每个绑定(bind) 1?).

the compiling code

一切看起来都是正确的(我认为,但浏览器/Angular 不同意我的看法),itemScope-变量确实包含我的对象集合的 1 个元素。并且 itemTemplate 确实包含预期的模板。

我错过了什么?

最佳答案

感谢 charlietfl,我走上了正确的道路。

这里显示了一个可行的解决方案:http://jsfiddle.net/e5aYt/2/

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

enter image description here

结果(包括不可见的数据年龄属性):

enter image description here

关于angularjs - Angular $compile 输出的链接函数给我 "undefined is not a function",为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573493/

相关文章:

javascript - 如何访问两者都需要: 'ngModel' and controller properties on directive

AngularJS 转换响应

angularjs - 如何使用 css 在 li 之间留出边距?

angularjs - 动态更新 AngularJS 指令中的 ion.rangeSlider ngModel

javascript - AngularJS - 创建一个使用 ng-model 和 md-autocomplete 的指令

javascript - AngularJS 条件 ngStyle 不适用

javascript - Angular 7+ : Images in assets folder does not appear

javascript - $BROADCASTing 从服务到 Controller

javascript - 在 AngularJS 1.X 中使用 Monaco 编辑器

javascript - AngularJS:动态编译指令