Niedawno widziałem ten przykład. Po raz pierwszy widziałem kontroler wewnątrz dyrektywy. Czy to normalne? Myślałam, że ma trzymać te dwa w różnych obszarach testowalności:Dlaczego chcesz umieścić kontroler w dyrektywie z AngularJS?
myModule.directive('myComponent', function(mySharedService) {
return {
restrict: 'E',
controller: function($scope, $attrs, mySharedService) {
$scope.$on('handleBroadcast', function() {
$scope.message = 'Directive: ' + mySharedService.message;
});
},
replace: true,
template: '<input>'
};
})
Opcja 'tabs' dyrektywa na stronie Kątowymi domowego (patrz Tworzenie Komponentów, zakładka components.js) posiada kontroler tak, że' pane' dyrektywy może uzyskaj dostęp do zakładki '$ scope (więcej na ten temat znajdziesz na http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers/14168699#14168699). Zobacz także [Różnica między kontrolerem a funkcjami łącza w dyrektywie] (http://stackoverflow.com/questions/12546945/difference-between-the-controller-and-link-functions-when-definition-an-angula/12570008# 12570008). –