2012-04-28 2 views
5

콤보 박스 (선택) 요소의 여러 속성에 대해 여러 가지 선택 사항을 제공하여 항목 목록을 필터링하는 작은 앱이 있습니다. 모든 것이 잘 동작하고 단일 콤보 박스 요소를 선택 취소하지만 모든 콤보 박스 요소를 null로 재설정하는 "재설정 필터 설정"에 필요한 버튼을 도입 한 이후 성능이 떨어졌습니다. comboxbox를 수정하는 각각의 단일 문장이 전체 목록을 새로 고침하는 것으로 보입니다.knockout.js로 "단위"로 여러 변경 사항을 트리거하는 방법

관측 대상을 업데이트 중지하고 모든 콤보 상자 요소를 null로 재설정 한 다음 녹아웃에 업데이트를 다시 시작하거나 초기에 업데이트를 트리거하도록 알리는 방법은 무엇입니까?

아이디어가 있으십니까?

감사 안드레아스

+4

는 "스로틀"연장에서보세요 : http://knockoutjs.com/documentation/throttle-extender.html이 때문이다 – Niko

답변

4

이 뻔뻔 니코의 의견에 확대, 당신은 throttle extender를 사용해야합니다 참조하십시오.

나를 위해이 문제를 해결 내 계산 선언에 .extend({ throttle: 10 }) 추가 :

// get only selected markets 
self.SelectedMarkets = ko.computed(function() { 
    return ko.utils.arrayFilter(self.Markets(), function(market) { 
     return market.IsSelected() == 1; }); 
}).extend({ throttle: 10 }); 
관련 문제