特定のリソース(App.User)の行数がどれだけあるかを知る必要があります。emberデータ `find`または` findAll`リクエストの総行数の返り値
私は応答で返そうとしましたが、Emberはマップされていないプロパティについて不満を持ち、レコードの配列(users: [ "john", "fred"]
)しか期待していません。私はサーバーに追加のクエリを作成したくありません。
Emberでこれを達成するためのクリーンな方法はありますか?
特定のリソース(App.User)の行数がどれだけあるかを知る必要があります。emberデータ `find`または` findAll`リクエストの総行数の返り値
私は応答で返そうとしましたが、Emberはマップされていないプロパティについて不満を持ち、レコードの配列(users: [ "john", "fred"]
)しか期待していません。私はサーバーに追加のクエリを作成したくありません。
Emberでこれを達成するためのクリーンな方法はありますか?
サーバーに追加のクエリを行う必要はありません。あなたは、サーバーからデータストア内のデータを取得したら、それはいくつかのレコードが汚れていると、あなたがそうstore.commit
を実行しない限り、そこにとどまり、あなたが
users = App.User.find()
を言って、あなたのレコードを取得した後、あなたは、単にusers.get('length')
を行うことができますし、あなたは長さを得るでしょう。これを行うと、サーバーへの追加のクエリは生成されません。
これをハンドルバーテンプレートに使用する場合は、{{this.length}}
を使用できます。
handleResponse
をアダプタに実装し、Emberが期待している方法で応答を変更することで、この問題を解決しました。
のは、私はこれに似たサーバからの応答を取得するとしましょう:
私handleResponse
実装は次のようになります。
handleResponse (status, headers, payload, requestData) {
let parsedPayload = {
users: payload.users,
meta: {
total: payload.count
}
};
return this._super(status, headers, parsedPayload, requestData);
}
方法でモデルメタデータを取得することができます
+1、私は[ページ設定]のコンテキストでこれについて疑問に思っていた(http://stackoverflow.com/questions/12482977/does-a-pagination-mixin-exist-for-ember-js-yet) – dechov
まさに!私は、結果セットの合計レコード数を知り、ページ設定に使用する必要があります... – korCZis