我最近看到這個例子。這是我第一次在指令中看到一個控制器。這是一個正常的事情。我以爲你應該保持這兩個不同領域的可測性:你爲什麼要把控制器放在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>'
};
})
的'的角度主頁上tabs'指令(請參閱創建組件,components.js標籤)的控制器,從而使'pane'指令可以可以訪問選項卡的$ scope(更多信息,請參閱http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers/14168699#14168699)。另請參見[控制器和指令中的鏈接函數之間的區別](http://stackoverflow.com/questions/12546945/difference-between-the-controller-and-link-functions-when-defining-an-angula/12570008# 12570008)。 – 2013-04-06 16:07:02