1
我有兩個車型設置是這樣的:Emberjs - 延遲加載的hasMany關係
App.Conversation = DS.Model.extend({
header : DS.attr('string'),
created_at : DS.attr('date'),
entry : DS.hasMany('Entry')
});
App.Entry = DS.Model.extend({
body : DS.attr('string'),
conversation: DS.belongsTo('Conversation'),
created_at : DS.attr('date'),
});
和路線是這樣的:
App.ConversationsRoute = Em.Route.extend({
model: function() {
return this.store.find('conversation');
}
});
App.ConversationRoute = Em.Route.extend({
model: function(params) {
return this.store.find('conversation', params.id);
}
})
而一個會話控制器這樣的:
App.ConversationController = Em.ObjectController.extend({
actions: {
loadMore: function() {
}
},
entries: function() {
return this.get('entry');
}.property('model.entry')
});
現在,我想要做的只是提供10 條目 sideloaded與每個對話。這可以毫無問題地工作,並且我可以檢索所有與Entry有hasMany關係的對話。
但是,如果用戶在我的應用程序中單擊某個按鈕,我想稍後通過我的loadMore操作中的某些功能延遲加載更多相關條目。
這是如何實現的?我實在無法圍繞如何加載更多條目並將它們同步到「對話」模型。
謝謝您的幫助。
謝謝。通過閱讀DS.Model來源,得到了幾乎相同的結果。很高興得到證實,但它是做到這一點的正確方法! – fischer 2014-10-03 21:57:07