5

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

1 に答える 1

5

一般に、要素のディレクティブ間でコントローラーを共有できるようにするには、ディレクティブでコントローラーを使用します。ディレクティブがそれらの間で簡単に通信できるようにします。

これがどのように機能するかについての優れた説明については、こちらを参照してください: http://egghead.io/video/angularjs-directive-to-directive-communication/

于 2013-04-06T12:59:21.193 に答える