我长期面对一个问题。你能帮我解决这个问题。 实际上,我想在很多地方使用table指令。所以我创建了一个指令并将角度UI网格绑定到它中。但是我收到了编译错误。
错误:angular.min.js:102 ReferenceError:未定义编译
但我可以加载网格内容
我在这里做错了什么?
HTML
<div ng-controller="ctrl1 as two">
<ltcg-table><ltcg-table>
</div>
<div ng-controller="ctrl2 as two">
<ltcg-table><ltcg-table>
</div>
JS
myApp.directive('ltcgTable', function($compile) {
return {
restrict: 'E',
transclude: true,
replace: false,
scope: { },
controller: Controller,
controllerAs: 'Controller',
bindToController: true,
compile: compile
}
});
答案 0 :(得分:0)
compile
函数(compile: compile
的第二部分)未定义。它应该是以下形式的函数:
function compile(tElement, tAttrs, transclude) { ... }
所以尝试像这样定义指令:
myApp.directive('ltcgTable', function($compile) {
return {
restrict: 'E',
transclude: true,
replace: false,
scope: { },
controller: Controller,
controllerAs: 'Controller',
bindToController: true,
compile: function(tElement, tAttr, transclude) {
//do some stuff here
}
}
});
或者,或者,如果您不需要做任何特殊操作并且网格按原样工作,只需将compile
字段保留在方向规范之外。