0
그래서 매우 기본적인 백본 컬렉션과 모델이 있습니다. 현재 사용자 지정 서식 파일을 통해 컬렉션을 렌더링하므로보기가 없습니다. 내가 뭘하고 싶은 건 (열 머리글을 클릭) 이벤트를 통해 컬렉션을 정렬합니다. 이 이벤트는 새 비교자를 설정 한 다음 컬렉션에서 .sort() 메서드를 시작합니다. 그러나 .sort() 다음에 콜렉션 데이터를 덤프 할 때 콜렉션은 동일한 순서로 있습니다. 나는 백본과 컬렉션에 익숙하지 않아 아마도 뭔가를 놓치고 있습니다. 여기 내 코드는 다음과 같습니다백본 컬렉션의 동적 정렬이 작동하지 않습니다.
var TicketCollection = Backbone.Collection.extend({
model : TicketModel,
initialize : function() {
},
fetch : function(options) {
options = options ? options : {};
var self = this;
$.ajax({
url : "/getTickets",
data : {},
method : "POST",
cache : false,
dataType : "json",
success : function(Json) {
self.reset(Json);
},
complete : options.complete
});
},
render : function() {
var self = this;
Base.renderTemplate({el : $("#ticketListContainer"), Template : "ticketList", data : {tickets : this.toJSON()}});
$("#ticketList").find("#tdHeadCompany").click(function() {
self.comparator = function(ticket) {
ticket.get("company");
};
self.sort();
console.log(JSON.stringify(self.toJSON()));
});
},
comparator : function(ticket) {
return ticket.get("number");
}
});
CONSOLE.LOG 컬렉션 원래 순서대로 여전히 보여주고, 회사의 헤더를 클릭하면 내가 원하는만큼 "회사"에 의해 주문하지. 어떤 충고? 감사!
새 기능에 'return'문이 하나만 빠졌습니다. – Andrew