コントローラー A に、コントローラー B で使用されている変数を設定する必要が$rootScope
ある Restangular 関数があります。コントローラー B が初期化される前に Restangular 関数が確実に実行されるようにするにはどうすればよいですか、またはこの問題を処理する別の方法はありますか? ありがとう。
1 に答える
1
$scope.$watch
依存関係を処理する通常の方法は、待機中の変数に対して use a を使用し、他のコードをコールバックで応答させることです。
$scope.$watch(function() {
return $rootScope.resultFromControllerA
}, function(result) {
if (result) {
// Configure Controller B
}
})
編集、それがプロミスであると提案したので追加するだけで、ルートスコープにプロミスを設定し、他のコントローラーをそれにアタッチするだけです:
コントローラーA
$rootScope.controllerASetupPromise = Restangular.get()
コントローラ B
$scope.$watch(function() {
return $rootScope.controllerASetupPromise
}, function(thePromise) {
if (thePromise) {
thePromise.then(function(response) {
// Configure Controller B
});
}
})
于 2013-10-29T04:09:03.773 に答える