PR
スポンサーリンク

$emitを使用してカスタムイベントを発行する

Vue.jsの$emitを使用してカスタムイベントを発行することは、Vue.jsアプリケーション内でコンポーネント間の通信を可能にする強力な方法です。カスタムイベントを使用することで、子コンポーネントから親コンポーネントへのデータの伝達や、同じ階層の他のコンポーネントへの通知を行うことができます。

以下は、カスタムイベントを使用した基本的な例です。

親コンポーネント

<template>
  <div>
    <child-component @custom-event="handleCustomEvent"></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    handleCustomEvent(payload) {
      console.log('Received custom event with payload:', payload);
    }
  }
}
</script>

子コンポーネント

<template>
  <button @click="sendCustomEvent">Click me!</button>
</template>

<script>
export default {
  methods: {
    sendCustomEvent() {
      this.$emit('custom-event', { message: 'Hello from child component!' });
    }
  }
}
</script>

この例では、親コンポーネントが<child-component>を含んでおり、その子コンポーネントからカスタムイベントcustom-eventを待ち受けています。子コンポーネントでは、ボタンがクリックされたときにsendCustomEventメソッドが呼び出され、$emitを使用してcustom-eventを発行しています。親コンポーネントでは、@custom-eventディレクティブを使用して、子コンポーネントからのcustom-eventを受け取り、handleCustomEventメソッドで受け取ったデータを処理しています。

カスタムイベントを使用することで、コンポーネント間でのデータの受け渡しや通知が可能になり、アプリケーションの柔軟性と再利用性が向上します。

コメント

タイトルとURLをコピーしました