약 1100 개의 레코드가 있습니다. 이 데이터 세트는 관측 가능한 배열로 매핑되고이 관측 가능한 배열은 뷰에 바인딩됩니다. 이러한 레코드는 자주 업데이트되므로 ko.mapping.fromJS 도우미를 사용하여 항상 관찰 가능 어레이가 업데이트됩니다.녹아웃 매핑 플러그인의 성능 문제가 발생했습니다
이 특정 명령은 모든 행을 처리하는 데 약 40 초가 걸립니다. 사용자 인터페이스는 해당 기간 동안 잠글뿐입니다.
var transactionList = ko.mapping.fromJS([]);
//Getting the latest transactions which are around 1100 in number;
var data = storage.transactions();
//Mapping the data to the observable array, which takes around 40s
ko.mapping.fromJS(data,transactionList)
해결 방법이 거기에가 - 여기
코드인가? 아니면 공연을 개선하기 위해 웹 작업자를 선택해야합니까?
매우 흥미로운 솔루션입니다. 얼마나 빨리 JsPerf를 만들면 재미 있을지 알 수 있습니다. – billy
@billy 게시물을 편집 할 때주의하십시오. 원래 질문의 코딩 스타일을 변경하는 것은 게시물의 의미를 변경하는 것과 동일하게 간주됩니다. 나는 편집을 롤백했다. – Lundin
다음은 jsperf입니다. http://jsperf.com/ko-view-model-vs-ko-mapping-complex-viewmodel-creation/28 (테스트중인 커스텀 매퍼의 저자입니다) –