Vue 2.0 인스턴스가 vue-router 구성 요소에서 내보내는 이벤트를 수신하지 않음
Vue 2.0-rc.6(최신)과 Vue-router 2.0-rc.5(최신)를 사용하고 있습니다.
하려고 했는데this.$emit('custom-event')
라우터의 컴포넌트 중 하나에 포함되어 있습니다.this.$on('custom-event', () => { console.log('I heard an event') })
제 Vue 인스턴스에서 이벤트를 듣고 있지 않았습니다.라우터 컴포넌트 자체는 이벤트를 수신하고 있었지만 Vue 인스턴스는 수신하지 않았습니다.
감 잡히는 게 없어요?
이 jsfiddle을 보세요.
$emit에서 이벤트는 부모 인스턴스로 전파되지 않습니다.부모는 템플릿의 컴포넌트에서 이를 적극적으로 수신해야 합니다.
<router-view @eventname="callbackMethod" />
http://forum.vuejs.org/topic/5235/vue-2-0-instance-is-not-hearing-events-emitted-by-vue-router-components/2의 LinusBorg가 $1200에서 이벤트가 부모 인스턴스로 전파되지 않음을 지적해 주셔서 감사합니다.
하지만 LinusBorg가 제안한 솔루션을 사용하여 실행하지는 못했습니다.대신, 나는 그것을 하는 것으로 일을 만들었다.this.$router.app.$emit('eventname')
워처를 사용하면 같은 것을 얻을 수 있습니다.즉, 루트가 갱신되면 워처를 통해 이벤트를 잡을 수 있습니다.
watch: {
'$route': function(to, from) {
console.log('To :', to.path); // current route
console.log('from:', from.path); // old route
}
}
언급URL : https://stackoverflow.com/questions/39486443/vue-2-0-instance-is-not-hearing-events-emitted-by-vue-router-components
'programing' 카테고리의 다른 글
Lodash ReferenceError: _는 Vue에서는 정의되어 있지 않습니다.다른 곳에서도 동작합니다. (0) | 2022.08.15 |
---|---|
pty와 tty는 무슨 뜻입니까? (0) | 2022.08.15 |
Android에서 문자열을 정수로 변환 (0) | 2022.08.15 |
REST를 통해 vue-form-generator에 폼 데이터 로드 (0) | 2022.08.15 |
부호가 없는 문자를 문자로 바꿀 수 있나요? (0) | 2022.08.15 |