私は2つのページ、ページAとページB、それぞれコントローラAとコントローラBを持っているとしましょう。 、
$rootScope.$broadcast('payData', obj)
私はコントローラBでこの放送を受信したいしかし、私はページBに行っていないので、私は、最初のページに移動し、一つのオブジェクトを送信する放送$を呼ぶような操作を、行いますコントローラBのコンストラクタは初期化されません。コントローラBのコンストラクタでこのメッセージを受信しようとするので、メッセージは受信されません。
export default class ControllerB{
constructor($scope, $rootScope){
this.scope = $scope;
this.rootScope = $rootScope
$rootScope.$on('payData', (event, obj) => {
console.log('broadcastPayData receive obj:', obj);
})
}
//some other cool staff
}
これを解決する方法はありますか?ありがとう。コントローラBがまだ存在しない場合は、それがロードされていたら
サービスに 'payData'を格納する必要があります。コントローラーが同時にアクティブにならない場合、イベントを使用することはできません(とにかく非常に脆弱です)。 –
@JoeClay、スマート、良いアイデア! thanks –