我需要知道總共存在多少行特定資源(App.User)。返回在餘燼數據find或findAll請求中總行數
我試着返回它作爲響應,但Ember抱怨沒有映射的屬性,並期待只有數組記錄(users: [ "john", "fred"]
)。我不想對服務器進行額外的查詢。
有沒有任何干淨的方式來達到這與Ember?
我需要知道總共存在多少行特定資源(App.User)。返回在餘燼數據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);
}
然後,我可以得到模型元數據的方式Ember documentation specifies it
+1,我在[分頁]的上下文中想知道這個問題(http://stackoverflow.com/questions/12482977/does-a-pagination-mixin-exist-for-ember-js-yet) – dechov
準確!我需要知道結果集中有多少記錄,並將其用於分頁... – korCZis