관리 할 "항목"목록이 있습니다. 목록은 화면 하단에 표시되며 입력 양식은 페이지 상단에 표시됩니다. 각 항목에는 "entryDate"속성이 있습니다.생성시 백본 콜렉션을 다시 가져옵니다.
목록은 특정 기간 (예 : 2014 년 8 월)에 바인딩되며 선택한 기간 사이의 항목 만 표시됩니다. 항목의 페이지가 매겨집니다. 무한 스크롤과 함께 페이지 당 X 개의 항목을 표시합니다. 목록의 정렬 순서는 entryDate에서 내림차순이며 가장 최근 항목이 먼저 표시됩니다.
entryDate가 항상 currentDate 인 경우 모든 것을 다시 렌더링하지 않고 목록에 새 행을 추가 할 수 있지만 그럴 수는 없습니다. 입력 한 날짜가 선택한 기간에 포함되는지 여부를 확인하는 것은 과도하다고 생각합니다. 목록을 다시로드해야 하는지를 아는 것입니다.
이제 성공적으로 삽입 될 때마다 목록을 가져 오거나 재설정하여 쉽게 만들고 싶습니다. 그러나 ... 나는 그것을 할 수 없다.
A는 내보기 코드 니펫이 제대로 작동하지 않는, 목록이 다시 인출되지
initialize: function() {
this.collection = new EntriesCollection();
this.fetchTransactions();
this.listenTo(this.collection, 'reset', this.render);
this.listenTo(this.collection, 'add', this.fetchTransactions);
this.rowViews = [];
this.render();
},
fetchTransactions: function() {
this.collection.fetch({ reset:true });
},
addEntry: function() { // on form submit
var entryData = {};
// load data from form...
this.collection.create(entryData);
},
.
가져 오기 전이나 후에 트리거 할 '추가'수집 이벤트가 있습니까? 그들은 단지 그들 모두를 로그 아웃하는 것입니다 화재 때/이벤트를 알아내는 경우
this.listenTo(this.collection, 'sync', this.render);
새 모델을 컬렉션에 추가하는 코드를 추가 할 수 있습니까? –
그냥 this.collection.create (entryData); –
아마도 {wait : true}를 사용하여 –