为什么要将控制器放在AngularJS的指令中?

Ala*_*an2 5 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>'
    };
})
Run Code Online (Sandbox Code Playgroud)

Tia*_*dão 5

通常,您可以在指令中使用控制器,以便能够在指令和元素之间共享它们.它允许指令轻松地在它们之间进行通信.

请看这里有关如何工作的一个很好的解释:http://egghead.io/video/angularjs-directive-to-directive-communication/