3
Ember 데이터 저장소에있는 모델의 수를 제한하는 방법이 있습니까? 이것에 대한 유스 케이스는 채팅 앱입니다. 브라우저의 메모리를 천천히 먹어서는 안되며 점점 더 많은 모델이 가득 찼습니다. 상점에 100 개가 넘는 상점이있는 경우 가장 오래된 모델이 삭제되는 것이 가장 바람직합니다.Ember.js - 상점의 모델을 제한 하시겠습니까?
Ember 데이터 저장소에있는 모델의 수를 제한하는 방법이 있습니까? 이것에 대한 유스 케이스는 채팅 앱입니다. 브라우저의 메모리를 천천히 먹어서는 안되며 점점 더 많은 모델이 가득 찼습니다. 상점에 100 개가 넘는 상점이있는 경우 가장 오래된 모델이 삭제되는 것이 가장 바람직합니다.Ember.js - 상점의 모델을 제한 하시겠습니까?
저장소에있는 유형의 모든 레코드를 볼 수 있으며 원하는 것보다 많은 레코드가있을 때마다 삭제할 수 있습니다. 이것은 실제로 모든 컨트롤러/라우트에 살 수 있습니다 ...
App.MessagesRoute = Em.Route.extend({
allMessages: function(){
return this.store.all('message');
}.property(),
messageCount: Em.computed.alias('allMessages.length'),
watchSize: function(){
var cnt = this.get('messageCount'),
messages;
if(cnt>100){
messages = this.get('allMessages').sortBy('messageDate').toArray().slice(100);
messages.forEach(function(message){
message.deleteRecord();
});
}
}.observes('messageCount')
});