Angular:两个独立控制器如何相互通信

时间:2016-04-18 12:53:54

标签: angularjs

我正在学习角度。我正在寻找一个例子,它将向我展示独立的两个控制器可以相互通信的不同方式。

我刚才发现父母和子女控制器之间可以相互通信。这是我的示例代码,它工作正常。 js在这里摆弄http://jsfiddle.net/tridip/oa9gc3ew/

以下帖子真的帮助我理解https://stackoverflow.com/a/14502755/6188148

<div ng-app ng-controller="ParentCtrl">
<button ng-click="ShowParent()">ShowParent</button>

    <div ng-controller="ChildCtrl as vm">
    <button ng-click="ShowChild()">ShowChild</button>
    <br>
    <br>
       {{$parent.cities}}
       <br>
       {{vm.parentcities}}
    </div>
</div>



function ParentCtrl($scope) {
    $scope.cities = ["NY", "Amsterdam", "Barcelona"];
            $scope.ShowParent = function() {
            alert('parent');
       $scope.$broadcast('childEvent', [1,2,3]);
        };  

            $scope.$on('parentEvent', function(event, data) { alert(data); });
}

function ChildCtrl($scope) {
    $scope.parentcities = $scope.$parent.cities;
            $scope.ShowChild = function() {
            alert('child');
      $scope.$emit('parentEvent', [1,2,3]);
        };    

    $scope.$on('childEvent', function(event, mass) 
    { 
        alert(mass); 
    });        
}

显示任何人请举几个例子来说明两个独立的控制器如何相互通信。告诉我几个人用于控制器之间通信的方法。感谢

0 个答案:

没有答案