【发布时间】:2016-01-19 09:14:27
【问题描述】:
我正在 $locationChangeStart 事件上从我的运行函数发送 $rootScope.$broadcast。在我的一个控制器中,我设置了一个侦听器,但它没有收到事件。事件广播是否在页面生命周期中过早?解决办法是什么?
谢谢。
【问题讨论】:
-
可以是任何东西。最好发布您的代码。
-
您的监听器是在控制器中被新状态还是旧状态激活?如果它处于新状态的控制器中,您的广播可能会在新控制器开始侦听之前发送,我猜......
-
旧状态和新状态是什么意思?我可以肯定地看到这是事件触发过早引起的问题,因为当我使用 setTimeout 将事件的广播延迟 1 秒时,侦听器会接收到事件。但我不想设置一些任意延迟,我想确保我的听众准备好了。有办法吗?
-
控制器需要从你的运行函数中得到什么信息?
-
你让它工作了吗?
标签: angularjs