2013-12-18 76 views
1

我有兩個需要對方功能的控制器。這兩個控制器在同一個「控制器模塊」中。角度讓控制器在同一模塊中協作

我的問題是如何能function A()ControllerA呼叫function B()這裏面ControllerB

希望有人能幫助我,

+0

請分享你的使用情況 –

回答

2

它不應該使用服務或事件。

Events

angular.controller('a', [ 
    '$scope', 
    function ($scope) { 
    $scope.$broadcast('something', 'with this', 'and this argument'); 
    } 
]); 

angular.controller('b', [ 
    '$scope', 
    function ($scope) { 
    $scope.$on('something', handleSomething); 

    function handleSomething() { 
    } 
    } 
]); 

Service

angular.factory('a', [ 
    function() { 
    return {}; // this is the API 
    } 
]); 

angular.controller('b', [ 
    'a', 
    function (a) { 
    a.thing = 'value'; // methods would be preferrable. 
    } 
]); 

angular.controller('c', [ 
    'a', '$log', 
    function (a, $log) { 
    $log.info(a.thing); 
    } 
]); 
+0

答案的事件部分做的工作。大! –