angular.js使用路由时,子控制器监听不到父级$boardcast的事件

wangbiglei 发布于 2014/10/12 09:02
阅读 1K+
收藏 0
求解!!
如下code, test01Controller控制器中的的变量可以$emit到父控制器(mainController)中,父控制器也可以$on监听到事件,但是,父控制器中$boardcast事件时,子控制器却不可以$on监听到事件。

controller.js

angular.module('mainApp', ['ngRoute']).config([ '$routeProvider', 
    function($routeProvider) {
    $routeProvider.when('/test01', {
    templateUrl : 'test01.html',
    controller: 'test01Controller'
    }).when('/test01Result', {
        templateUrl : 'test01Result.html',
        controller: 'test01ResultController'
    }).otherwise({
        redirectTo : '/grid'
    });
} ]);

html
<!DOCTYPE html>
<html>
    <head>
    ...
    </head>
    <body ng-app="mainApp" ng-controller="mainController">
        <div ng-view></div>
    </body>
</html>


初学求解。
加载中
0
J
JellyZhai

https://stackoverflow.com/questions/30664821/unable-to-broadcast-event-from-parent-controller-in-angularjs

在父控制器中,给广播事件函数,使用$timeout() 方法,延迟300ms 发出广播;这时子控制器,应该加载完成,可以监听到父控制器中的广播事件

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部