Jadual Kandungan
Apakah itu bas acara?
Buat bas acara
通过事件总线实现组件通信
订阅事件
触发事件
示例应用
Melanggan acara
Peristiwa pencetus
Rumah hujung hadapan web View.js Bagaimana untuk melaksanakan komunikasi antara komponen melalui bas acara dalam Vue

Bagaimana untuk melaksanakan komunikasi antara komponen melalui bas acara dalam Vue

Oct 15, 2023 am 08:30 AM
vue komunikasi bas acara

Bagaimana untuk melaksanakan komunikasi antara komponen melalui bas acara dalam Vue

Cara melaksanakan komunikasi antara komponen melalui bas acara dalam Vue memerlukan contoh kod khusus

Bas acara ialah mekanisme komunikasi komponen biasa dalam Vue Ia membolehkan komunikasi yang mudah dan fleksibel antara komponen yang berbeza memperkenalkan perhubungan komponen ibu bapa-anak atau gunakan perpustakaan pengurusan negeri seperti Vuex. Artikel ini akan memperkenalkan cara melaksanakan komunikasi antara komponen melalui bas acara dalam Vue dan memberikan contoh kod khusus.

Apakah itu bas acara?

Bas acara ialah mekanisme untuk menghantar mesej antara komponen. Dalam Vue, kita boleh menggunakan contoh Vue untuk mencipta bas acara yang melaluinya komunikasi antara komponen dicapai. Bas acara membenarkan berbilang komponen untuk melanggan dan mencetuskan acara yang sama, dengan itu mencapai penyahgandingan dan komunikasi yang fleksibel antara komponen.

Buat bas acara

Mencipta bas acara dalam Vue adalah sangat mudah. ​​Kami boleh memasang tika Vue kosong sebagai bas acara pada tika Vue bebas. Berikut ialah contoh kod untuk membuat bas acara:

// EventBus.js

import Vue from 'vue';
export default new Vue();
Salin selepas log masuk

Dalam kod sampel di atas, kami mengeksport contoh Vue, iaitu bas acara kami. Dalam komponen lain, kita boleh memperkenalkan contoh bas acara melalui pernyataan import. import语句引入该事件总线实例。

通过事件总线实现组件通信

通过事件总线实现组件之间的通信主要有两个步骤:订阅事件和触发事件。

订阅事件

在需要接收消息的组件中,我们可以使用$on方法来订阅特定的事件。下面是一个示例:

// ComponentA.vue

import EventBus from './EventBus.js';

export default {
  created() {
    EventBus.$on('custom-event', this.handleEvent);
  },
  destroyed() {
    EventBus.$off('custom-event', this.handleEvent);
  },
  methods: {
    handleEvent(payload) {
      console.log(`Received message: ${payload}`);
    }
  }
}
Salin selepas log masuk

在上述示例中,我们在created生命周期钩子内使用$on方法订阅了名为custom-event的事件,并将事件处理函数handleEvent传入。当custom-event被触发时,handleEvent函数将被调用并接收到传递的数据。

触发事件

在需要发送消息的组件中,我们可以使用$emit方法来触发特定的事件。下面是一个示例:

// ComponentB.vue

import EventBus from './EventBus.js';

export default {
  methods: {
    sendMessage() {
      EventBus.$emit('custom-event', 'Hello, EventBus!');
    }
  }
}
Salin selepas log masuk

在上述示例中,我们在sendMessage方法中使用$emit方法触发了名为custom-event的事件,并传递了字符串'Hello, EventBus!'作为数据。

示例应用

下面是一个简单的示例应用,演示了如何利用事件总线实现两个组件之间的通信。

// ParentComponent.vue

<template>
  <div>
    <child-component></child-component>
  </div>
</template>

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

export default {
  components: {
    ChildComponent
  },
  mounted() {
    EventBus.$on('message', this.handleMessage);
  },
  destroyed() {
    EventBus.$off('message', this.handleMessage);
  },
  methods: {
    handleMessage(payload) {
      console.log(`Received message: ${payload}`);
    }
  }
}
</script>


// ChildComponent.vue

<template>
  <div>
    <button @click="sendMessage">Send Message</button>
  </div>
</template>

<script>
import EventBus from './EventBus.js';

export default {
  methods: {
    sendMessage() {
      EventBus.$emit('message', 'Hello, EventBus!');
    }
  }
}
</script>
Salin selepas log masuk

在上述示例中,ParentComponent为父组件,ChildComponent为子组件。当点击ChildComponent中的按钮时,它会通过事件总线发送一个消息,ParentComponent

Mencapai komunikasi komponen melalui bas acara

Terdapat dua langkah utama untuk mencapai komunikasi antara komponen melalui bas acara: melanggan acara dan mencetuskan acara.

Melanggan acara

Dalam komponen yang perlu menerima mesej, kita boleh menggunakan kaedah $on untuk melanggan acara tertentu. Berikut ialah contoh: 🎜rrreee🎜Dalam contoh di atas, kami melanggan acara bernama acara tersuai menggunakan kaedah $on di dalam dicipta kod cangkuk kitaran hayat> acara, dan masukkan fungsi pengendali acara handleEvent. Apabila peristiwa tersuai dicetuskan, fungsi handleEvent akan dipanggil dan menerima data yang diluluskan. 🎜

Peristiwa pencetus

🎜Dalam komponen yang perlu menghantar mesej, kita boleh menggunakan kaedah $emit untuk mencetuskan peristiwa tertentu. Berikut ialah contoh: 🎜rrreee🎜Dalam contoh di atas, kami menggunakan kaedah $emit dalam kaedah sendMessage untuk mencetuskan acara bernama custom-event code> acara dan lulus rentetan <code>'Hello, EventBus!' sebagai data. 🎜🎜Aplikasi Contoh🎜🎜Berikut ialah contoh aplikasi mudah yang menunjukkan cara menggunakan bas acara untuk mencapai komunikasi antara dua komponen. 🎜rrreee🎜Dalam contoh di atas, ParentComponent ialah komponen induk dan ChildComponent ialah komponen anak. Apabila butang dalam ChildComponent diklik, ia menghantar mesej melalui bas acara dan ParentComponent melanggan acara tersebut dan menerima mesej yang dicetak ke konsol. 🎜🎜Melalui bas acara, kita boleh mencapai penyahgandingan dan komunikasi yang fleksibel antara komponen yang berbeza. Tidak kira betapa rumitnya hubungan antara komponen, komunikasi antara komponen boleh dicapai dengan mudah menggunakan bas acara. Sudah tentu, dalam beberapa aplikasi berskala lebih besar, kami juga boleh mempertimbangkan untuk menggunakan perpustakaan pengurusan negeri seperti Vuex untuk mengurus komunikasi dan berkongsi keadaan antara komponen. 🎜🎜Untuk meringkaskan, artikel ini memperkenalkan konsep dan penggunaan bas acara, dan menyediakan contoh kod khusus. Saya harap artikel ini dapat membantu anda lebih memahami dan menggunakan mekanisme bas acara dalam Vue. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan komunikasi antara komponen melalui bas acara dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan echarts dalam vue Cara menggunakan echarts dalam vue May 09, 2024 pm 04:24 PM

Menggunakan ECharts dalam Vue memudahkan untuk menambahkan keupayaan visualisasi data pada aplikasi anda. Langkah khusus termasuk: memasang pakej ECharts dan Vue ECharts, memperkenalkan ECharts, mencipta komponen carta, mengkonfigurasi pilihan, menggunakan komponen carta, menjadikan carta responsif kepada data Vue, menambah ciri interaktif dan menggunakan penggunaan lanjutan.

Peranan lalai eksport dalam vue Peranan lalai eksport dalam vue May 09, 2024 pm 06:48 PM

Soalan: Apakah peranan lalai eksport dalam Vue? Penerangan terperinci: eksport lalai mentakrifkan eksport lalai komponen. Apabila mengimport, komponen diimport secara automatik. Permudahkan proses import, tingkatkan kejelasan dan cegah konflik. Biasa digunakan untuk mengeksport komponen individu, menggunakan kedua-dua eksport bernama dan lalai, dan mendaftarkan komponen global.

Cara menggunakan fungsi peta dalam vue Cara menggunakan fungsi peta dalam vue May 09, 2024 pm 06:54 PM

Fungsi peta Vue.js ialah fungsi tertib tinggi terbina dalam yang mencipta tatasusunan baharu di mana setiap elemen ialah hasil yang diubah bagi setiap elemen dalam tatasusunan asal. Sintaks ialah map(callbackFn), di mana callbackFn menerima setiap elemen dalam tatasusunan sebagai argumen pertama, secara pilihan indeks sebagai argumen kedua, dan mengembalikan nilai. Fungsi peta tidak mengubah tatasusunan asal.

Sejarah pembangunan tetikus tanpa wayar Sejarah pembangunan tetikus tanpa wayar Jun 12, 2024 pm 08:52 PM

Tajuk asal: "Bagaimanakah tetikus wayarles menjadi wayarles?" 》Tetikus wayarles secara beransur-ansur menjadi ciri standard komputer pejabat hari ini, kita tidak perlu lagi menyeret kord panjang. Tetapi, bagaimanakah tetikus wayarles berfungsi? Hari ini kita akan belajar tentang sejarah pembangunan tetikus wayarles No.1 Tahukah anda bahawa tetikus wayarles kini berusia 40 tahun Pada tahun 1984, Logitech membangunkan tetikus wayarles pertama di dunia, tetapi tetikus wayarles ini menggunakan inframerah sebagai isyarat? pembawa dikatakan kelihatan seperti gambar di bawah, tetapi kemudiannya gagal kerana sebab prestasi. Sehingga tahun 1994, sepuluh tahun kemudian, Logitech akhirnya berjaya membangunkan tetikus wayarles yang berfungsi pada 27MHz Frekuensi 27MHz ini juga menjadi tetikus tanpa wayar untuk masa yang lama.

Peranan onmounted dalam vue Peranan onmounted dalam vue May 09, 2024 pm 02:51 PM

onMounted ialah cangkuk kitaran hayat pemasangan komponen dalam Vue Fungsinya adalah untuk melaksanakan operasi pemulaan selepas komponen dipasang pada DOM, seperti mendapatkan rujukan kepada elemen DOM, menetapkan data, menghantar permintaan HTTP, mendaftarkan pendengar acara, dsb. Ia hanya dipanggil sekali apabila komponen dipasang Jika anda perlu melakukan operasi selepas komponen dikemas kini atau sebelum ia dimusnahkan, anda boleh menggunakan cangkuk kitar hayat yang lain.

Perbezaan antara eksport dan eksport lalai dalam vue Perbezaan antara eksport dan eksport lalai dalam vue May 08, 2024 pm 05:27 PM

Terdapat dua cara untuk mengeksport modul dalam Vue.js: eksport dan eksport lalai. eksport digunakan untuk mengeksport entiti bernama dan memerlukan penggunaan pendakap kerinting lalai eksport digunakan untuk mengeksport entiti lalai dan tidak memerlukan pendakap kerinting. Apabila mengimport, entiti yang dieksport melalui eksport perlu menggunakan nama mereka, manakala entiti yang dieksport secara lalai eksport boleh digunakan secara tersirat. Adalah disyorkan untuk menggunakan lalai eksport untuk modul yang perlu diimport beberapa kali dan menggunakan eksport untuk modul yang hanya dieksport sekali.

Puncak utama Gunung Changbai boleh mengakses Internet seperti biasa: Jilin Mobile dan ZTE melengkapkan pengagregatan tiga pembawa 2.6G + 700M untuk kegunaan komersial, dengan kadar puncak lebih daripada 2.53Gbps Puncak utama Gunung Changbai boleh mengakses Internet seperti biasa: Jilin Mobile dan ZTE melengkapkan pengagregatan tiga pembawa 2.6G + 700M untuk kegunaan komersial, dengan kadar puncak lebih daripada 2.53Gbps Jul 25, 2024 pm 01:20 PM

Menurut berita pada 25 Julai, Jilin Mobile dan ZTE telah menyelesaikan penggunaan komersial pengagregatan tiga pembawa berdasarkan jalur frekuensi 2.6G (100+60M) dan jalur frekuensi 700M (30M) di puncak utama Gunung Changbai kadar dalam ujian lapangan boleh mencapai lebih daripada 2.53Gbps. Pegawai menyatakan bahawa Gunung Changbai adalah salah satu daripada sepuluh gunung terkenal di China Ia kini menjadi tarikan pelancong AAAAA negara, taman geologi dunia, rizab biosfera dunia, dan rizab alam semula jadi terbaik di dunia pada tahun 2023 akan mencapai 2.7477 juta, dan 3CC akan digunakan kali ini. Ia akan sangat memenuhi keperluan rangkaian pengguna. Menurut laporan, Jilin Mobile telah menerajui dalam melengkapkan perintis pengagregatan pembawa bagi rangkaian tiga pembawa dalam jalur frekuensi 2.6G (100+60M) ditambah 4.9G (100M) pada awal 2024, dengan muat turun puncak

Apakah cangkuk dalam vue Apakah cangkuk dalam vue May 09, 2024 pm 06:33 PM

Cangkuk Vue ialah fungsi panggil balik yang melakukan tindakan pada peristiwa tertentu atau peringkat kitaran hayat. Ia termasuk cangkuk kitaran hayat (seperti beforeCreate, mounted, beforeDestroy), cangkuk pengendalian acara (seperti klik, input, keydown) dan cangkuk tersuai. Cangkuk meningkatkan kawalan komponen, bertindak balas kepada kitaran hayat komponen, mengendalikan interaksi pengguna dan meningkatkan kebolehgunaan semula komponen. Untuk menggunakan cangkuk, hanya tentukan fungsi cangkuk, laksanakan logik dan kembalikan nilai pilihan.

See all articles