2014-01-27 18 views

回答

2

父控制器可以通過使用$broadcast來通知子控制器。

下面是一些例子Live Demo

HTML

<div ng-controller="ParentCtrl"> 

    <a data-ng-click="callChild('x')">Click me</a> 

    <div ng-controller="ChildCtrl">    

    </div> 
</div> 

JS

var fessmodule = angular.module('myModule', []); 

function ParentCtrl($scope, $timeout) {  

    $scope.callChild = function (val) { 
     $scope.$broadcast('someEvent', val); 
    }; 
} 

function ChildCtrl($scope) { 
    $scope.$on('someEvent', function (event, val) { 
     alert('from child ' + val); 
    }); 
} 

參考

$廣播 - 向下分派事件到所有子範圍,

$發出 - 通過作用域層級向上調度事件。

相關問題