백본의 컬렉션 모델을 사용하여 백본보기에 정렬 된 문자열 목록을 표시하고 있습니다.비교기를 사용할 때 백본 컬렉션이 반 정렬되었습니다.
코드가 실행var MenuItems = Backbone.Collection.extend({
comparator: function (a, b) {
if (a.get('name') < b.get('name')) {
return 1;
} else if (b.get('name') > a.get('name')) {
return -1;
}
},
model: MenuItem,
url: '/items'
});
는 만 목록에 열두 항목의 처음 여섯이 분류되어, 나머지는 분류되지 않은 남아 다음은 모델과 비교입니다. comparator: 'name'
을 사용하면 목록이 완전히 정렬되지만 함수를 사용하면이 문제가 발생합니다.
왜 이런 일이 벌어지고 있는지 알 수 있습니다. 이것이 백본 버그일까요? 백본 1.1.0을 사용 중입니다.
소팅중인 이름 항목을 게시 할 수 있습니까? – Divey
[ "sort"비교 함수는 두 개의 모델을 사용하고 첫 번째 모델이 두 번째 모델보다 먼저 나오면 -1을 반환하고 같은 순위의 모델이면 0을 반환하고 첫 번째 모델을 가져 오는 경우에는 1을 반환합니다. "] (http : /backbonejs.org/#Collection-comparator). 이 세 가지 경우 중 하나가 누락되어 모든 배팅이 해제됩니다. –
@Divey @Divey : {칠리 콘 카네, 치즈 버거, 피자, 시저 샐러드, 가든 샐러드, 브라우니, 당근, 치즈 케이크, 녹색 콩, 으깬 감자, 스파게티와 미트볼, 토마토 샐러드}는 {당근, 토마토 샐러드, 스파게티 미트볼, 피자, 으깬 감자, 녹색 콩, 가든 샐러드, 칠리 콘 카네, 치즈 케이크, 치즈 버거, 시저 샐러드, 브라 우니) – Branka