2014-09-18 1 views
0

300+가있는 handson 테이블이 있습니다. 그것은 빨리 렌더링됩니다.대형 손수건 잠금 장치에서 여러 행을 업데이트하면 크롬이 잠 깁니다

function() { 
    console.trace("Start", new Date()); 
    $scope.myData.forEach(function(elem, idx) { 
     elem.properties.myCol = Math.random(); 
     if (idx % 100 == 0) console.trace("Tick", new Date()); 
    }); 
    console.trace("End", new Date()); 
}; 

루프가 초 미만에서 실행하지만 최대 브라우저 탭 잠금 및 페이지는 분 이상 업데이트하지 않습니다 : 그러나, 나는 그렇게 같은 모든 행에 하나의 열을 업데이트합니다. handontable에서 배열에 대한 업데이트를 읽지 못하게하고 수동 다시 그리기를 트리거 할 수있는 방법이 있습니까? 이 속도를 높이는 다른 방법이 있습니까?

답변

0

렌더링 속도를 느리게하는 옵션은 columnSorting: true,입니다. 제거하면 문제가 해결됩니다.

1

handsontable 데이터를 업데이트 한 후 $ ('# yourTable')을 사용할 수 있습니다. handsontable ("render"); 데이터를 업데이트 한 후 수동으로 handsontable을 다시 렌더링합니다. observeChanges : false (기본값은 false)으로 설정하면 handsontable을 통해 자동 렌더링이 비활성화됩니다.

+0

그러나 데이터를 자동으로 300 번 렌더링하지 못하게하려면 어떻게해야합니까? –

+0

당신의 핸즈프리가 왜 다시 렌더링되는지 모르겠다. 데이터를 전역 변수로 유지하고 데이터를 업데이트 한 후 렌더링 함수를 호출 할 수 있습니다. –

+0

당신은 ** observeChanges : true **를 설정 했습니까? handontable을 만드는 동안 그냥 False로 변경하면 자동으로 다시 렌더링되지 않습니다. –

관련 문제