换句话说,我是否必须等待下一个事件周期才能使用 广播$rootScope.broadcast()
,以便其他控制器使用$rootScope.on()
可以接收广播的事件?
这不是通常的应用程序流程,但是假设我们在应用程序中有一个演示模式会短路一些逻辑,并且不需要去服务器获取一些东西,但可以使用提供演示数据broadcast()
,是真的吗我们必须使用
setTimeout(function() {
$rootScope.broadcast(...);
}, 0);
以便其他控制器将其接起?
原因是,其他控制器可能还不存在。如果 app 模块定义了 5 个控制器,或者使用依赖注入来声明它依赖于 2 组控制器,abc.xyz.controllers
并且abc.efg.controllers
.
由于控制器定义是
.controller("name", function(...) {
})
所以通过提供该函数,您不知道何时调用该函数(创建控制器),但假设所有创建都在第一个事件周期中完成,那么如果您等待一个周期广播,那么您可以确定所有控制器都会接收广播吗?这也正式记录了吗?