我最近看到了这个例子。这是我第一次在指令中看到控制器。这是正常的事吗。我认为你应该将这两个保留在不同的区域以便测试:
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>'
};
})
答案 0 :(得分:5)
通常,您可以在指令中使用控制器,以便能够在指令之间共享元素。它允许指令轻松地在它们之间进行通信。
请点击此处查看有关其工作原理的详细说明:http://egghead.io/video/angularjs-directive-to-directive-communication/