IT이야기

vue에서 상위 구성 요소 중 하위 구성 요소가 내보내는 이벤트에 가입했는지 확인하려면 어떻게 해야 합니까?

cyworld 2022. 7. 4. 22:34
반응형

vue에서 상위 구성 요소 중 하위 구성 요소가 내보내는 이벤트에 가입했는지 확인하려면 어떻게 해야 합니까?

컴포넌트는 부모의 자녀로 사용되는 경우도 있고 부모가 없는 경우도 있습니다.

이 컴포넌트는 특정 이벤트를 내보냅니다.이 이벤트는 부모(가입되어 있는 경우)에 의해 포착되거나 이 컴포넌트 자체에 의해 처리됩니다.

실행 시 프로그래밍 방식으로 체크하려면 어떻게 해야 합니까?

if (someone is listening to the event){
    let them catch and handle it
}else {
    let's handle it by our own
}

이를 통해 컴포넌트에 전달된 청취자를 확인할 수 있습니다.

this.$listeners;

부모 스코프 이벤트청취자를 반환합니다.여기 의사를 보세요.

특히, 사용 예에 대해서는, 다음과 같습니다.

// To check whether the "myEvent" event is listened to
if (this.$listeners.myEvent){
  // let them catch and handle it
} else {
  // let's handle it by our own
}

부모로부터 부울 프로펠을 전달할 수 있습니다.

부모 컴포넌트:

<Child :isParent='true'></Child>

하위 구성 요소:

props : {
  isParent : Boolean
},

methods : {
  actionEvent : function(){
    if(this.isParent){
      // Emit event
    }
    else{
      // Take care over here.
    }
  }
}

언급URL : https://stackoverflow.com/questions/56325761/in-vue-how-do-i-check-if-any-parent-component-has-subscribed-for-an-event-which

반응형