Vue.Js の Emit の概念

Susan Sarandon
リリース: 2024-10-17 06:20:29
オリジナル
218 人が閲覧しました
  • Hello! Vue.js では、emit イベントを使用してコンポーネント間で情報を交換することができます。子コンポーネントは、発行イベントを使用して親コンポーネントに情報を送信できます。以下の発行イベントを詳しく見てみましょう。

発行イベント (イベント ハンドラー) を定義する

defineEmits 関数は、

発行イベントを定義して使用するために使用されます。

Vue.Js da Emit tushunchasi

グー:

  1. *イベントの決定 (イベントハンドラー) *:
    defineEmits 関数を使用すると、コンポーネントによって発行されるイベントを定義できます。

  2. イベントのリリース:
    イベントはエミット機能を使用してリリースできます。

以下の詳細な例を見てみましょう:

例 1: 単純なイベント

  1. 子コンポーネント: ChildComponent.vue
<template>
  <button @click="notifyParent">Click me</button>
</template>

<script setup>
import { defineEmits } from 'vue'

// Eventlarni aniqlash
const emit = defineEmits(['myEvent'])

const notifyParent = () => {
  emit('myEvent', 'Assalamu alaykuuuum bratanim')
}
</script>
ログイン後にコピー
  1. ParentComponent: ParentComponent.vue
<template>
  <div>
    <ChildComponent @myEvent="handleMyEvent" />
  </div>
</template>

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

const handleMyEvent = (message) => {
  console.log(message) // Output: Assalamu alaykuuuum bratanim
}
</script>
ログイン後にコピー

例 2: 引数を伴うイベント

  1. 子コンポーネント: ChildComponent.vue
<template>
  <button @click="sendData">Send Data</button>
</template>

<script setup>
const emit = defineEmits(['sendData'])

const sendData = () => {
  emit('sendData', { id: 1, name: 'Jonibek Davronov' })
}
</script>
ログイン後にコピー
  1. ParentComponent: ParentComponent.vue
<template>
  <div>
    <ChildComponent @sendData="receiveData" />
  </div>
</template>

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

const receiveData = (data) => {
  console.log(data) // Output: { id: 1, name: 'Jonibek Davronov' }
}
</script>
ログイン後にコピー

例 3: 検証を伴うイベント

  1. 子コンポーネント: ChildComponent.vue
<template>
  <button @click="sendData">Send Validated Data</button>
</template>

<script setup>
const emit = defineEmits({
  // Event nomi va uni qabul qiladigan argumentlar uchun validatsiya
  sendData: (payload) => {
    if (typeof payload.id === 'number' && typeof payload.name === 'string') {
      return true
    } else {
      console.warn('Invalid payload')
      return false
    }
  }
})

const sendData = () => {
  emit('sendData', { { id: 1, name: 'Jonibek Davronov' })
}
</script>
ログイン後にコピー
  1. ParentComponent: ParentComponent.vue
<template>
  <div>
    <ChildComponent @sendData="handleValidatedData" />
  </div>
</template>

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

const handleValidatedData = (data) => {
  console.log(data) // Output: { id: 1, name: 'Jonibek Davronov' }
}
</script>
ログイン後にコピー

結論は:

Vue.js では、emit イベントを使用してコンポーネント間で情報を交換することができます。 defineEmits 関数を使用してイベントを定義し、emit 関数を使用してイベントを (親コンポーネントに) 送信できます。これらのイベントを使用して、子コンポーネントは親コンポーネントに情報を送信したり、レポートを送信したりできます。イベントを検証することで、送信されたデータが正しいことを確認できます。

ネットワーク上で私たちをフォローして、記事が役立つ場合は、コメントして Vuechi の友達と共有してください。 ?

以上がVue.Js の Emit の概念の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート