这可能是迄今为止我使用 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){
.
.
.
})
任何想法如何去做?
谢谢你,米拉