我有一个这样注册的控制器:
myModule.controller('MyController', function ($scope, ...some dependencies...)
{
....
在 HTML 中使用ng-controller="MyController"
一切正常,但现在我想将此控制器用作我的指令的控制器。像这样的一些事情:
otherModule.directive('myDirective', function() {
return {
restrict: 'A',
replace: true,
controller: ??????????,
scope: {
foo: '=',
blah: '=',
},
template: '....'
}
});
我厌倦了只是放,MyController
但它错误地说“MyController is not defined”。我确定如果我只是放入MyController
全局命名空间,它会正常工作,但我不想要全局命名空间中的任何内容。如果它有所作为,myModule
则定义为otherModule
. 我怎样才能获得对这个控制器的引用以供我的指令使用?
按照建议,我试过$controller('MyController')
了,但现在我收到以下错误:
Error: Unknown provider: $scopeProvider <- $scope <- myDirectiveDirective
at Error (<anonymous>)
at http://localhost/resources/angular.js?_=1360613988651:2627:15
at Object.getService [as get] (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at http://localhost/resources/angular.js?_=1360613988651:2632:45
at getService (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at invoke (http://localhost/resources/angular.js?_=1360613988651:2773:13)
at Object.instantiate (http://localhost/resources/angular.js?_=1360613988651:2805:23)
at http://localhost/resources/angular.js?_=1360613988651:4621:24
at otherModule.directive.restrict (http://localhost/resources/app.js?_=1360613988824:862:15)
at Object.invoke (http://localhost/resources/angular.js?_=1360613988651:2786:25)
我不知道该怎么做这个错误。是否还需要做这项工作?