考虑我们对templateUrl和controller有一些指令。
angular.module('someApp').directive('myDirective', [function() {
return {
templateUrl:'someTemplate.html',
controller: ['$scope', function($scope) {
this.someFunction = function() {}
}]
}
}])
如果我们现在试图获得控制器
var directive = angular.element('<my-directive />');
$compile(directive)( scope );
var controller = directive.controller('myDirective');
控制器 未定义。
答案 0 :(得分:0)
答案是在指令中设置模板而不是 templateUrl 。
angular.module('someApp').directive('myDirective', [function() {
return {
template:'<span>Solution!</span>',
controller: ['$scope', function($scope) {
this.someFunction = function() {}
}]
}
}])
我在文档中找不到任何相关内容。我认为这是一个错误。