これはおそらく、AngularJS でこれまでに経験した中で最も奇妙な問題です。私たちのウェブサイトは、さまざまなルートで構成されています。各ルートにはビューとコントローラーがあり、MainCtrl という親コントローラーもあります。私の index.html では、私が持っているすべてのコントローラーをインポートします。ある時点で、別の子ルートに再ルーティングし (コントローラーとして IframeCtrl を使用して /iframe と呼びましょう)、次に、イベント名を 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){
.
.
.
})
どのようにそれを行うかについてのアイデアはありますか?
ありがとう、ミラ