私は最近、この例を見ました。ディレクティブ内にコントローラーを見たのは初めてです。これは通常のことですか。テスト容易性のために、これら 2 つを異なる領域に保持することになっていると思いました。
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>'
};
})