2014-07-25 5 views
2

각도 범위에서는 거대한 객체 scope.a가 있는데 어떻게 든 다른 scope.b 참조가 있습니다.AngularJS 더티 검사 성능

나는 angularJS가 더티 검사를 사용한다는 것을 알고 있으므로 범위 내부의 내용을 줄여야합니다. 내 질문은 a와 b가 본질적으로 같은 obj (참조)이기 때문입니다. 필자가 b를 없애면 하나의 참조 만 유지하면 눈에 띄는 성능 향상을 얻을 수 있습니까?

+3

성능 문제가 있습니까? –

+0

@JBNizet 아닙니다. 그러나 그것의 뒤에 이야기를 아는 것은 항상 좋다. – 9blue

답변

1

범위에있는 항목이 $ digest주기에 아무런 성능 영향을 미치지 않습니다 (브라우저 이벤트 루프 여기에 통합 : https://docs.angularjs.org/guide/scope 참조).

더티 검사 ($ digest cycle)는 등록 된 $watch 함수 (코드에 수동으로 등록되거나 각도 코드로 등록됨)를 호출 한 다음 $watch 함수가 지난 시간과 다른 값을 반환하면 수신기 함수를 호출합니다.

질문에 대답하려면 범위에 항목을 추가하지 않아도 성능이 향상되지 않습니다. $watch 함수의 성능을 향상시킴으로써 성능이 가장 쉽게 향상됩니다. $ digest주기마다 적어도 한 번 항상 호출되기 때문입니다.

관련 문제