2013-05-14 26 views
6

Tôi có đoạn mã sau:Backbone

Campaign.Collection = Backbone.Collection.extend({initialize: function() { 
}, 
comparator: function(item) { return item.get('Name'); } 
} 

tôi gọi collection.sort() và dường như làm việc và sắp xếp mô hình liên quan đến lĩnh vực Tên vấn đề là ưu tiên cao hơn để chữ hoa dụ ('Một số kiểm tra '<' thử nghiệm nhiều hơn ') có cách nào để ghi đè hành vi không?

Trả lời

11

Việc sửa chữa đơn giản nhất là chỉ cần làm như sau:

Campaign.Collection = Backbone.Collection.extend({ 
    initialize: function() {}, 
    comparator: function(item) { return item.get('Name').toLowerCase(); } 
}; 

này sẽ chuyển đổi tất cả để chữ thường trước khi so sánh vì vậy nó sẽ so sánh theo cách bỏ qua trường hợp.

6

Đối với một trường hợp so sánh không nhạy cảm, sử dụng JS chức năng có nguồn gốc toLowerCase:

Campaign.Collection = Backbone.Collection.extend({initialize: function() { 
}, 
comparator: function(item) { return item.get('Name').toLowerCase(); } 
} 
+0

Tuyệt vời, cảm ơn bạn! – streetlight