私のデータが受信されるまで、イオンローダーを表示しようとしています。私はいくつかの解決策を確認したが、うまくいかなかった。これは私のコードです。
$ ionicLoading.show({ コンテンツ: '読み込み'、 アニメーション: 'フェードイン' showBackdrop:真、 のmaxWidth:200、 showDelayを0 })。私は呼ん
$scope.allcourses = CourseFactory.FindFreeCourses($scope.search).then(function(result){
console.log(result);
$scope.allfreestadiums = result;
$ionicLoading.hide();
}, function(error){
console.log(error);
$ionicLoading.hide();
$ionicLoading.show({
template: 'Network Error',
scope: $scope
});
$timeout(function() {
$ionicLoading.hide();
}, 100);
})
のみ
$ scope.allcourses = CourseFactory.FindFreeCourses($のscope.search)。
うまくいきましたが、画面に表示される前に読み込みを表示します。 何が問題なのでしょうか?
こんにちは、答えに感謝しかし、私は永遠にその積載まだuは述べたすべてのものを試してみましたけど。私はconsole.logを削除し、コールバックの上にhideを置いても、まだ動作しませんでした。ブラウザの問題か、ファクトリメソッドか?なぜなら私が$ scope.allcourses = CourseFactory.FindFreeCourses($ scope.search)だけを呼び出すと問題なく動作するからです。 –
Angular promisesで作業しましたか? CourseFactory.FindFreeCourses()は約束を返す必要があり、その約束は解決する必要があります。私の推測では、FindFreeCourses()では、それらの.then()コールバックに到達するために必要な約束を解決していないということです。 FindFreeCourses()の中では、次のようなことをしてください: 'var q = $ q.defer();/*あなたのコースルックアップコールバックを行う*/q.resolve();/* ... */return q.promise; ' – voodoodrul