programing

Vue.js $emit와 $dispatch의 차이점은 무엇인가?

prostudy 2022. 5. 24. 21:53
반응형

Vue.js $emit와 $dispatch의 차이점은 무엇인가?

vue2.0에서 이벤트$dispatch그리고$broadcast더 이상 사용되지 않는다.

그리고 나는 그것을 발견했다.$dispatch와 비슷하다$emit.

그들 두 사람의 차이점은 무엇인가?직접 교체해도 안전한가?$dispatch$emit마이그레이트할 때

아니오, 교체할 수 없음$disptach와 함께$emit도처에아이에서 부모까지의 의사소통을 위해 사용하는 곳이라면 어디든 교체할 수 있지만, 다른 경우에는 다른 접근법을 취해야 할 수도 있다.

설명서(업그레이드 팁의 Evan이 제공하는 유사한 설명):

이러한 방법의 가장 일반적인 용도 중 하나는 부모와 직계 자녀 간에 의사소통하는 것이다.이런 경우, 당신은 실제로 v-on이 있는 아이로부터 $emit를 들을 수 있다.이를 통해 이벤트 편의성을 더욱 정교하게 유지할 수 있다.

하지만, 먼 후손들/어려운 사람들 사이에 의사소통을 할 때, $emit은 당신에게 도움이 되지 않을 것이다.대신, 가능한 가장 간단한 업그레이드는 중앙 집중식 이벤트 허브 사용일 것이다.

$dispatch 설명서

이벤트를 전송하여 먼저 인스턴스 자체에서 트리거한 다음 상위 체인을 따라 위로 전파하십시오.상위 이벤트 수신기를 트리거할 때 해당 수신기가 참으로 반환되지 않는 한 전파는 중지된다.

반면, $105:

현재 인스턴스에서 이벤트 트리거추가적인 논쟁은 청취자의 콜백 함수에 전달될 것이다.

따라서 통해 상위 요소의 여러 계층에 통신을 전달하려면 이 코드를 다른 방식으로 처리해야 함을 알 수 있다.

참조URL: https://stackoverflow.com/questions/40923555/vue-js-whats-the-difference-of-emit-and-dispatch

반응형