programing

Vue.js의 루트 요소에서 내보낸 이벤트를 재생하려면 어떻게 해야 합니까?

randomtip 2022. 9. 5. 22:46
반응형

Vue.js의 루트 요소에서 내보낸 이벤트를 재생하려면 어떻게 해야 합니까?

Vue.js는 처음이지만 하위 구성 요소에서 발생하는 이벤트가 상위 구성 요소에서 어떻게 재생되는지 알고 있습니다.

그러나 플러그인(vue-masonry)을 사용하고 있으며 이 플러그인으로 인해 Vue Devtools의 이벤트 탭에서 볼 수 있는 루트 요소에서 이벤트가 내보내집니다.소스로서.관련 컴포넌트 또는 글로벌하게 이러한 이벤트를 청취하려면 어떻게 해야 합니까?이것이 가능한 것인지, 아니면 플러그인에 의해 내부적으로만 이벤트를 청취할 수 있는 방식으로 구현되어 있는지조차 확신할 수 없습니다.여기에 코드가 있습니다.해당 이벤트는 다음과 같은 이름의 4개 이벤트입니다.${EVENT_ADD}__${masonryId};

앱의 루트 인스턴스를 만들 때 다음과 같은 이벤트를 들어보려고 했습니다.

new Vue({
        el: '#explore-app',
        data: {
            function() {
                return {}
            }
        },
        render: h => h(explore)
    })
    .$on('eventName', (event) => {console.log('Handle event')}).
;

또한 컴포넌트의 created() 메서드로 다음을 시도했습니다.

created() {
    this.$root.$on('eventName', (event) => {console.log('Handle event')});
}

두 방법 모두 효과가 없습니다. 콘솔에 아무것도 표시되지 않습니다.루트 요소에서 방출된 이벤트를 들을 수 있는 방법이 있습니까?

언급URL : https://stackoverflow.com/questions/60271102/how-do-you-listen-to-events-emitted-by-the-root-element-in-vue-js

반응형