最近Ionicで開始しましたが、AngularJSについてよく理解していなければなりません。angularjsで約束した後にデータを返す方法
基本的に私は検索フィールドを持っています。ここで私はプロパティformdata.searchTextをバインドし、値が変更されるたびに検索機能を起動します。コールバックは、私のリストを埋めるアーティストのコレクションです。
<input type="search" ng-model="formdata.searchText" placeholder="Search"
ng-change="search()">
私のコントローラでは、このプロパティが定義されていて、メソッドの検索が呼び出されます。検索はAPI呼び出しのために工場に届きます。
.controller('SearchController', function($scope, SpotifyFactory) {
$scope.formdata = [{
searchText: ""
}];
$scope.search = function(){
$scope.searchResults = SpotifyFactory.searchArtist($scope.formdata.searchText);
};
})
これは今のところうまく動作します。この呼び出しはSpotify APIに対して行われ、検索エンジンに基づいて見つかったアーティストの結果が返されます。
マイデータ:私は私のコントローラで$ scope.searchResultsをCONSOLE.LOG
、それは私の希望値が含まれています。しかし、私はそれが約束が行われた後にconsole.logが実行されているために起こると信じています。これにより、データを表示することができます。私は私のコントローラでオブジェクトをCONSOLE.LOG、および例
console.log($scope.searchResults.artists);
のために言うなら他のプロパティにアクセスするImがまだできている間は、未定義を返します。
以下は、私が工場でAPI呼び出しを行う方法です。
私の質問は、APIの呼び出しが完了した後、データが返されるようにする方法です。
を配置したい場所からそれを呼び出す約束
を使用してあなたの先生ありがとう!それはまさに私が探していたものでした!私はまだそれをアップウォークする特権を持っていないが、一度十分なポイントがあれば、私はそうするだろう! – user3672317
@ user3672317あなたは大歓迎です、これは角度のある工場の一般的な使用法であり、今日はどこにでも約束があります;) – sbaaaang