2つのコントローラを作成しました.1つは実際のページ用、もう1つは成功モード用です。私はモーダルコントローラーからでも放送しており、ページコントローラーでも聞いています。スコープ変数の現在のインスタンスを参照するために 'this'を使用しています。しかし、$ onリスナーでは、スコープ変数を使用しようとするたびにnullが見つかるため、ページコントローラ変数を変更することはできません。モーダルコントローラで
$rootScope.$on('backToFetch', function() {
for(var i=0; i < this.fetchUploader.documentData.length; i++) {
this.fetchUploader.documentData[i].isSuccess = false;
this.fetchUploader.progress = 0;
}
deleteFormFields()
});
:ページコントローラで
私はあなたがスコープの状態をコピーすることができ
どの範囲ですか?アプリケーションにスコープがたくさんある可能性があります – Dalorzo
これが達成しようとしているのであれば 'this'を使って '$ scope'を使わないのはなぜですか? –
通常、イベントにデータを送信します。 '$ rootScope。$ broadcast( 'backToFetch'、function(e、data){});' $ rootScope。$ broadcast( 'backToFetch'、 'Some extra data');そしてあなたのハンドラでそのデータを受け取ります。データは何でもかまいません。またコントローラ間の階層は何か、 '$ rootScope'を汚染する必要はないでしょう。 – ste2425