Rumah hujung hadapan web View.js Petua untuk menggunakan kaedah menyediakan dan menyuntik untuk lulus merentasi komponen dalam Vue

Petua untuk menggunakan kaedah menyediakan dan menyuntik untuk lulus merentasi komponen dalam Vue

Jun 25, 2023 am 11:02 AM
vue provide inject

Vue ialah rangka kerja bahagian hadapan sumber terbuka yang sangat baik Ia mempunyai keupayaan untuk membina antara muka pengguna dengan cepat, memudahkan proses pembangunan dan meningkatkan kecekapan pembangunan produk. Vue menyediakan pelbagai cara untuk menghantar data, termasuk prop, emit, $emit, vuex, dsb. Menggunakan menyediakan dan menyuntik pada peringkat komponen ialah cara yang lebih fleksibel yang boleh membantu kami melepasi kaedah dan peristiwa merentas komponen. Dalam artikel ini, kami akan menumpukan pada menerangkan teknik menggunakan menyediakan dan menyuntik dalam Vue untuk menghantar kaedah dan acara merentas komponen.

  1. Apakah yang disediakan dan disuntik?

menyediakan dan menyuntik ialah kaedah penghantaran komponen lanjutan dalam Vue, yang membolehkan komponen induk menghantar data kepada komponen turunan yang jauh dari diri mereka sendiri. Kami boleh menjadikan data boleh diakses oleh semua komponen keturunan dengan menyediakannya dalam komponen nenek moyang.

  1. Bagaimana untuk menggunakan menyediakan dan menyuntik?

Mari kita gunakan contoh mengikat kaedah yang sama kepada berbilang komponen untuk menerangkan cara menggunakan menyediakan dan menyuntik.

2.1 Komponen nenek moyang menyediakan kaedah

Dalam komponen nenek moyang, kami mentakrifkan kaedah dan memberikannya kepada semua komponen keturunan. Kodnya adalah seperti berikut:

import { provide } from 'vue'

export default {
  created() {
    const commonMethod = () => { alert('hello world') }
    provide('commonMethod', commonMethod)
  }
}
Salin selepas log masuk

Di sini, kami menggunakan kaedah provide untuk menyediakan kaedah commonMethod kepada semua komponen keturunan. Parameter pertama kaedah menyediakan ialah nama kunci data yang disediakan, dan parameter kedua ialah kandungan khusus data yang disediakan.

2.2 Komponen keturunan menerima kaedah

Selepas menerima kaedah yang disediakan, kita boleh menggunakannya dalam semua komponen keturunan. Kodnya adalah seperti berikut:

import { inject } from 'vue'

export default {
  created() {
    const commonMethod = inject('commonMethod')
    this.$commonMethod = commonMethod
  }
}
Salin selepas log masuk

Di sini, kami menggunakan kaedah inject untuk menerima kaedah commonMethod. Parameter kaedah suntikan ialah nama kunci data yang disediakan, dan ia akan mengembalikan nilai data yang disediakan. Dalam kitaran hayat yang dicipta, kami mengikat kaedah commonMethod dalam pembolehubah $commonMethod bagi contoh untuk digunakan dalam komponen.

  1. Bagaimana untuk melaksanakan acara lulus?

Apabila menyampaikan acara merentas komponen, kami perlu menggunakan menyediakan dan menyuntik. Di bawah ini kami mengambil sebagai contoh peristiwa mengklik butang untuk mencetuskan komponen keturunan.

3.1 Komponen nenek moyang menyediakan acara

Dalam komponen nenek moyang, kami memperkenalkan kelas acara dan menyediakannya kepada semua komponen keturunan. Kodnya adalah seperti berikut:

import { provide } from 'vue'
import { EventEmitter } from 'events'

export default {
  created() {
    const emitter = new EventEmitter()
    provide('emitter', emitter)
  }
}
Salin selepas log masuk

Di sini, kami mencipta contoh EventEmitter baharu dalam komponen nenek moyang dan memberikannya kepada komponen keturunan.

3.2 Komponen keturunan mendengar peristiwa

Dalam komponen keturunan, kami menggunakan kaedah suntikan untuk mendapatkan acara yang disediakan dan mendengarnya supaya logik yang sepadan dapat dilaksanakan selepas peristiwa itu dicetuskan. Kodnya adalah seperti berikut:

import { inject } from 'vue'

export default {
  created() {
    const emitter = inject('emitter')
    emitter.on('event', () => {
      console.log('emit event')
    })
  }
}
Salin selepas log masuk

Di sini, kami menggunakan kaedah suntikan untuk menerima pemancar peristiwa yang disediakan dan mendengar 'peristiwa' acara dalam kitaran hayat yang dicipta. Apabila peristiwa dicetuskan, kami melaksanakan logik yang sepadan.

3.3 Peristiwa pencetus

Apabila mencetuskan peristiwa, kita perlu mendapatkan pemancar dan mencetuskannya. Kodnya adalah seperti berikut:

import { inject } from 'vue'

export default {
  methods: {
    emitEvent() {
      const emitter = inject('emitter')
      emitter.emit('event')
    }
  }
}
Salin selepas log masuk

Di sini, kami menggunakan kaedah suntikan untuk mendapatkan pemancar peristiwa yang disediakan, dan mencetuskan 'peristiwa' dalam kaedah emitEvent.

  1. Ringkasan

Melalui pengenalan artikel ini, kami belajar cara menggunakan menyediakan dan menyuntik untuk melaksanakan penyampaian merentas komponen kaedah dan acara. Menggunakan menyediakan dan menyuntik pada peringkat komponen Vue membolehkan kami menghantar data dan acara dengan lebih fleksibel, dengan berkesan mengurangkan kerumitan templat atau prop. Pada masa yang sama, menyediakan dan menyuntik juga menyediakan fungsi yang serupa dengan DI (suntikan kebergantungan), menjadikan reka bentuk seni bina Vue lebih berskala dan boleh diselenggara.

Atas ialah kandungan terperinci Petua untuk menggunakan kaedah menyediakan dan menyuntik untuk lulus merentasi komponen 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1262
29
Tutorial C#
1235
24
Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

React vs Vue: Rangka kerja mana yang digunakan oleh Netflix? React vs Vue: Rangka kerja mana yang digunakan oleh Netflix? Apr 14, 2025 am 12:19 AM

NetflixusesAcustomFrameworkcalled "gibbon" Builtonreact, notreactorsvuedirectly.1) TeamExperience: chectionBasedOnfamiliarity.2) ProjectOplePlexity: VueforsImplerProjects, ReactForComplexones.3)

Cara Menggunakan Vue Traversal Cara Menggunakan Vue Traversal Apr 07, 2025 pm 11:48 PM

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

See all articles