2017-01-18 6 views
2
this.store.findAll('game').then(function(results){ 
    // RUN SOME OPERATION ON THEM 
}) 

私は結果変数と遊ぶことができる方法を知っているしたいと思います。私はできることを理解しています燃えさしモデルクエリーを反復

results.get('firstObject') // returns the first object. 

私はそれ以外のことをすべて知りたいのですが。 の結果はになりますか?

ありがとうございます!

答えて

6

下記の方法、それは録音またはRecordArrayに解決され、約束を返します。

store.findAll()は、を満たすDS.PromiseArrayを返します。
store.findRecordは、recordで解決される約束を返します。
store.query()は、findAllと同じ方法でDS.PromiseArrayを返します。

以下の2つは、同期メソッドです。ストアで使用可能なものを取得し、レコード自体を返します。サーバーがデータをフェッチするよう要求することはありません。

store.peekAllは、直接DS.RecordArrayを返します。
store.peekRecord direcltyそれはDS.RecordArrayが、それはEmber.Enumerableを実装するオブジェクトはJavaScript 配列ですされていないことに注意することが重要だ記録

を返します。たとえば、 インデックスでレコードを取得する場合は、[]表記が機能しないため、代わりに objectAt(index)を使用する必要があるため、これは重要な意味です。 です。正常な状態に変換する1つのプロパティチェック
toArrayに基づいてフィルタリングするための新しいアレイ
filterByfindByに変換するために
mapを反復処理するEmber.Enumerableから


forEach、私は次のように使用するために起こったほとんどの時間ネイティブ配列

+0

ありがとう!あなたは私が理解しようとしていることを正確に教えてくれました。 –

+0

これはstore.query()に対してすべてtrueですか? Ember Guidesは、それが意味することを明確にしていない "約束"を返すとしか言いません。 – Cameron

+1

はい、 'store.query'にも当てはまります。私は詳細を更新しました。このガイドの中では、このメソッドはfindAllと同じ方法でDS.PromiseArrayを返します。 – kumkanillam

0

あなたはグーグルではありませんでしたか?

findAllはRecordArrayに解決されるPromiseを返します。 RecordArrayはArrayProxyです。

http://emberjs.com/api/classes/Ember.ArrayProxy.html

必要なものはすべて。

Googleの「ember findall」には「Ember.js - Models:Finding Records - Guides」のドキュメントもあります。 ember guidesから

https://guides.emberjs.com/v2.5.0/models/finding-records/

+0

あなたは正しいです。それは文書の中にあった。私はGoogleをした、私はそれを正しくしなかったと思う。 –

関連する問題