AngularJS:控制器如何相互通信?

时间:2014-02-20 03:48:51

标签: angularjs

http://jsbin.com/lakujiya/4/edit

请帮助我,我认为这种方式是正确的,但差异控制器中的$ scope不能像我预期的那样传递变量。我不知道因为我很新鲜。

1 个答案:

答案 0 :(得分:0)

您需要在http://jsbin.com/caravezi/1/edit使用$rootScope.$broadcast

  angular.module('myApp',[]).
    controller('SomeController', function($scope, $rootScope){
       $scope.title = 'have a try.';      

       $scope.clicked=function(){
         $rootScope.$broadcast('someEvent', $scope.title);
       }
    }).
    controller('otherController', function($scope, $rootScope){
       $scope.$on('someEvent', function(e,title){
          $scope.title = title;       
       });
    })  

$emit - 通过范围层次结构向上调度事件 $broadcast - 将事件向下调度到所有子范围,