2012-08-03 2 views
0

뷰 모델에 관찰 가능한 배열이 있습니다. 아이템을 추가로 밀어 넣은 후에도 아이템을 항상 주문할 수 있습니까?콜렉션 주문 유지

예 :

[ { a: 4 }, { a: 1 }, { a: 2 } ]; 

이 재산 a에 의해 주문 UI에 표시됩니다. 따라서 [ { a: 1 }, { a: 2 }, { a: 4 } ].
그런 다음 서버에서 새 항목을로드합니다 ([ { a: 5 }, { a: 3 } ]).이를 배열로 밀어 넣으면 배열이 UI에서 순서대로 표시됩니다. 핵심 코 기능을 사용할 수 있습니까?
미리 감사드립니다.

답변

1

데이터를 배열 내부에 밀어 넣을 때마다 .sort() 메서드를 호출 할 수 있습니다. 배열의 중간에 직접 삽입 할 수는 없습니다 (documentation 참조).

// Todo: insert (push) all inside the observableArray when you retrieved it from the server 

// Now sort the data 
observableArray.sort(function (left, right) { 
    return left.a == right.a ? 0 : (left.a < right.a ? -1 : 1); 
}); 
: 귀하의 경우

는 다음을 수행 할 수 있습니다