拿一个Angular指令的控制器

时间:2015-07-24 06:11:05

标签: angularjs angularjs-directive

考虑我们对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');

控制器 未定义

1 个答案:

答案 0 :(得分:0)

答案是在指令中设置模板而不是 templateUrl

 angular.module('someApp').directive('myDirective', [function() {
        return {
            template:'<span>Solution!</span>',
            controller: ['$scope', function($scope) {
                this.someFunction = function() {}
            }]        
        }
    }])

我在文档中找不到任何相关内容。我认为这是一个错误。