【发布时间】:2014-05-23 07:02:11
【问题描述】:
我的 Angular 应用中有两个控制器。当某条数据更新为一个时,它会发送一个 $broadcast 事件,如下所示:
$scope.updateTableInfo = function (table) {
$rootScope.$broadcast ("updateTableInfo", table);
}
在另一个控制器中,设置了一个侦听器来侦听此更新:
$rootScope.$on ("updateTableInfo", function (event, table) {
// do stuff here
});
不幸的是,如果 updateTableInfo() 在第一个控制器中定义后立即被调用,那么第二个控制器还没有准备好监听它,并且错过了更新。如何确保控制器始终可以相互通信?
【问题讨论】:
-
你最好使用服务在控制器之间进行交叉通信,尤其是在这里。
标签: angularjs angularjs-scope broadcast angularjs-controller