从另一个控制器广播功能不起作用,但仅在生产中

Broadcasting a function from another controller does not work, but only in production

这可能是我迄今为止遇到的最奇怪的问题 AngularJS。 我们的网站由不同的路线构成。每个路由都有它的视图和控制器,还有一个父控制器,叫做 MainCtrl。 在我的 index.html 中,我导入了我拥有的所有控制器。在某些时候,我正在重新路由到另一个子路由(让我们将其称为 /iframe,以 IframeCtrl 作为控制器)然后,当我尝试将事件名称从 MainCtrl 向下分派给所有子路由时(广播函数在 IframeCtrl 中),什么都没有发生(在本地很好,问题只在生产中)。我不确定问题是否是在我更改路由后 IframeCtrl 中的函数尚未加载,但我确实在 index.html 中加载了它所以我认为这就足够了,正如我所说,它在本地工作。

这是来自 MainCtrl 的代码:

globalVariables.broadcastAnimateBar({stage : data.progress});

这是我工厂在应用程序中的代码

globalVariablesService.broadcastAnimateBar = function(stage)
{
    $rootScope.$broadcast('animateBar',stage);
}

这是 IframeCtrl 中的代码

$scope.$on('animateBar', function(event,args){
.
.
.
})

有什么想法吗?

谢谢, 米拉

我设法通过向广播添加超时来让它工作

  $timeout(function(){
       $rootScope.$broadcast('animateBar',stage);
  }, 1000);