Programing

vm 사용.여러 번 콜백을 처리하는 데 한 번보다 여러 번 더 많은 비용을 지출하시겠습니까?

c10106 2022. 5. 14. 09:33
반응형

vm 사용.여러 번 콜백을 처리하는 데 한 번보다 여러 번 더 많은 비용을 지출하시겠습니까?

요구 사항 중 하나에서 여러 콜백(여러 하위 구성 요소와 동일)에 대해 동일한 개체(상위 구성 요소)에 시계를 동적으로 추가해야 한다.예를 들면 다음과 같다.

addWatch(callback){

    this.$watch(()=>{
    ---
    return **this.a**
    },callback)
}

다음과 같은 질문이 있다.

  1. 하위 구성 요소 수가 증가하면 VUEJS에서 성능 문제가 발생하나?(예: 임계값은 있는가)
  2. 콜백 배열을 유지하고 워치를 한 번 생성하여 이 배열을 반복하고 워치가 트리거되는 경우 각 메서드를 실행하면 성능이 개선될 수 있는가?아니면 VUEJS에서 내부적으로 관리하고 있는가?

미리 고마워!

보고 싶은 물건마다 시계를 부르는 것이 가장 좋다.그렇게 해서, vue는 최적화할 수 있고, 그 watcher에 사용된 acutal 변수가 바뀔 때만 watcher에게 전화를 할 수 있다.

동일한 값을 감시할 경우 vue는 최적화에 상당히 능숙하지만, 이 경우 성능 오버헤드가 여전히 존재하기 때문에 하나의 수신기만 추가하는 것이 가장 좋다(그러나 이는 정말로 마이크로 최적화로서 보통 노력의 가치가 없다).

예:

// Will only get called when a changes
this.$watch(() => this.a, () => {
  this.aText = this.a + "";
});
// Will only get called when b changes
this.$watch(() => this.b, () => {
  this.bText = this.b + "";
});

참조URL: https://stackoverflow.com/questions/63548882/using-vm-watch-multiple-times-vs-one-time-to-handle-multiple-callbacks

반응형