0
私はeventBusについて学び、このHello.vueとUser.vueの2つのコンポーネントを作成しました。VueJSのEventBusが動作しない
こんにちは
<template>
<button @click="emitGlobalClickEvent()">Click me</button>
</template>
<script>
import { eventBus } from '../main'
export default {
name: 'hello',
data() {
return {
msg: 'Welcome to Your Vue.js App'
}
},
methods: {
emitGlobalClickEvent() {
eventBus.$emit('messageSelected', this.msg)
}
}
}
</script>
ユーザー
import { eventBus } from '../main';
eventBus.$on('messageSelected', msg => {
console.log(msg);
})
メイン
import Vue from 'vue'
import App from './App'
import router from './router'
export const eventBus = new Vue()
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})
私はボタンをクリックすると、私はコンソールログには何も表示されていないと私は得ることはありませんあらゆる誤り。
私は間違ったことをしましたか、あるいは何か他に働かなくてはなりませんか?
あなたのユーザーはどこかにロードされていますか?リスナーをアクティブにするには、メインとユーザーの両方をロードする必要があります。 – Antony
わからないのでどこにロードすればいいですか? –
は 'User' vueファイルですか? – Ikbel