Rumah  >  Artikel  >  hujung hadapan web  >  Cara berkomunikasi merentas komponen dalam vue

Cara berkomunikasi merentas komponen dalam vue

下次还敢
下次还敢asal
2024-04-30 02:09:19954semak imbas

Dalam Vue.js, komunikasi merentas komponen boleh dicapai dengan cara berikut: Komunikasi ibu bapa-anak: menghantar data atau peristiwa yang mencetuskan melalui prop. Komunikasi keturunan nenek moyang: berkongsi sumber data melalui menyediakan/menyuntik. Komunikasi komponen adik beradik: melalui bas acara, pengurusan negeri Vuex atau acara tersuai.

Cara berkomunikasi merentas komponen dalam vue

Bagaimana untuk berkomunikasi merentas komponen dalam Vue?

Pengenalan:
Dalam aplikasi Vue.js, komunikasi merentas komponen adalah penting untuk berkongsi data dan acara. Berikut ialah beberapa cara untuk mencapai komunikasi merentas komponen:

Komunikasi ibu bapa-anak:

  • Menghantar data melalui sifat: Komponen induk menghantar data sebagai prop kepada komponen anak, dan komponen anak menggunakan v-bind kepada mengikat data.
  • Dicetuskan oleh peristiwa: Komponen anak mencetuskan peristiwa dan menghantar data kepada komponen induk Komponen induk mendengar peristiwa dalam templat komponen induk.

Komunikasi keturunan nenek moyang:

  • Melalui menyediakan/menyuntik: Komponen nenek moyang menyediakan sumber data, dan komponen keturunan memperoleh data melalui suntikan.

Komunikasi komponen kakak:

  • Melalui Bas Acara: Buat contoh Vue untuk bertindak sebagai bas acara, dan semua komponen boleh mendengar dan mencetuskan acara.
  • Pengurusan negeri melalui Vuex: Gunakan perpustakaan pengurusan negeri Vuex untuk menyimpan keadaan global dan menjadikannya boleh diakses oleh semua komponen.

Acara tersuai:

  • Melalui $emit/$on: Cetuskan acara tersuai melalui $emit dalam komponen anak, dan dengar acara melalui $on dalam komponen induk.

Contoh hantaran atribut:

<code class="HTML"><!-- 父组件 -->
<template>
  <Child-Component :message="message" />
</template></code>
<code class="HTML"><!-- 子组件 -->
<template>
  <div>{{ message }}</div>
</template></code>

Contoh pencetus mengikut peristiwa:

<code class="HTML"><!-- 子组件 -->
<template>
  <button @click="emitMessage">触发事件</button>
</template>

<script>
export default {
  methods: {
    emitMessage() {
      this.$emit('message', '事件数据');
    }
  }
};
</script></code>
<code class="HTML"><!-- 父组件 -->
<template>
  <Child-Component @message="handleMessage" />
</template>

<script>
export default {
  methods: {
    handleMessage(message) {
      console.log(message); // 输出:事件数据
    }
  }
};
</script></code>

Atas ialah kandungan terperinci Cara berkomunikasi merentas komponen dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Peranan pemerhati dalam vueArtikel seterusnya:Peranan pemerhati dalam vue