Apakah provide & inject dalam Vue dan cara menggunakannya?
Vue.js ialah rangka kerja JavaScript yang sangat popular di dunia bahagian hadapan semasa Ia mempunyai banyak ciri hebat seperti pengikatan data responsif, seni bina paparan komponen, penjejakan kebergantungan dan pemaparan templat. Fungsi yang paling biasa digunakan ialah pengaturcaraan komponen Vue memberikan kami ujian berfungsi seperti pendaftaran komponen, lulus parameter komponen, dll. Walau bagaimanapun, dalam beberapa kes, penghantaran data komponen akan menghadapi masalah yang lebih sukar pada masa ini provide
dan inject
yang disediakan dalam Vue untuk menyelesaikan masalah jenis ini.
Fahami menyediakan & menyuntik
menyediakan
Vue2.2.0 telah menambah provide / inject
, yang boleh membantu kami melengkapkan keperluan pengaturcaraan berorientasikan objek dengan lebih baik. Dalam istilah orang awam, provide
ialah proses di mana kami boleh menyediakan data dalam komponen induk, dan kemudian menggunakan inject
dalam komponen anak untuk mendapatkan data yang diperlukan.
Berikan contoh untuk lebih memahami provide
:
<template> <!-- 父组件 --> <div> <child-component /> </div> </template> <script> import childComponent from './child-component'; export default { provide: { foo: 'bar' }, components: { childComponent } } </script>
Dalam komponen induk, kami menyediakan data dengan kunci foo
hingga ke komponen anak. Kemudian dalam komponen anak kita boleh mendapatkan data ini melalui inject
.
<template> <!-- 子组件 --> <div> <p>我是子组件,我获取到了一个名为"foo"的属性的值:{{foo}}</p> </div> </template> <script> export default { inject: ['foo'] } </script>
Pada ketika ini, kami telah melaksanakan proses lengkap menyediakan dan menyuntik. Melalui provide
kami menyediakan data dalam komponen induk, dan kemudian menggunakan inject
dalam komponen anak untuk mendapatkan data, sekali gus melengkapkan pemindahan data antara komponen.
inject
inject
ialah tatasusunan di mana nama harta yang hendak disuntik diisytiharkan. Suntikan objek ke dalam subkomponen Nama sifat objek adalah sama dengan nama kunci yang disediakan, dan nilainya ialah data yang disediakan.
Berikan contoh khusus untuk difahami inject
:
<!-- 祖先组件: --> <template> <div> <div>我是祖先组件</div> <slot></slot> </div> </template> <script> export default { provide() { return { name: 'Colin' } } } </script> <!-- 父组件 --> <template> <div> <div>我是父组件</div> <child-component /> </div> </template> <script> import childComponent from 'view/child-component.vue'; export default { components: { childComponent } } </script> <!-- 子组件: --> <template> <div> <div>我是子组件</div> <p>祖先组件中给我的数据是什么呢? {{ name }}</p> </div> </template> <script> export default { inject: ['name'] } </script>
Dalam kod di atas, fungsi provide
boleh difahami sebagai komponen induk yang menyediakan data kepada sub-komponen peringkat bawah , dan sub-komponen melepasi inject
Untuk menerima data ini, proses penghantaran data direalisasikan.
Senario Penggunaan
Pada ketika ini, anda mungkin bertanya: Kami sudah mempunyai komunikasi prop antara komponen ibu bapa dan anak, mengapa kami memerlukan provide/inject
?
Sebenarnya kedua-duanya agak berbeza dari segi senario penggunaan. Berikut ialah beberapa senario di mana provide/inject
boleh digunakan untuk melaksanakan komunikasi antara komponen ibu bapa dan anak:
- Komunikasi antara komponen merentas peringkat
Dalam Vue, komunikasi antara komponen ibu bapa dan anak Ia boleh dicapai melalui prop, tetapi apabila ia melibatkan komponen merentas peringkat, menggunakan prop untuk menghantar data akan menjadi sangat menyusahkan. Pada masa ini, anda boleh menyediakan data dalam komponen nenek moyang melalui provide / inject
, dan kemudian mendapatkan data yang diperlukan melalui suntikan dalam komponen keturunan.
- Komponen induk tidak mengetahui pelaksanaan khusus subkomponen
Dalam sesetengah kes, komponen induk tidak tahu mana yang menyokong data dalaman sub -komponen disimpan dalam. Pada masa ini, data boleh dihantar ke subkomponen melalui provide
.
- Anda boleh menggunakan pemerhati untuk memerhati perubahan dalam nilai untuk membantu melaksanakan penyepaduan komponen
Melalui kaedah provide / inject
, kami boleh menyediakan data kepada komponen keturunan, kepada Ibu bapa meninggalkan pintu masuk untuk pemerhatian, dengan itu membolehkan penyepaduan komponen.
- Apabila tidak sesuai untuk menggunakan prop
Dalam Vue, prop ialah satu-satunya cara rasmi dan mudah digunakan untuk memindahkan data antara ibu bapa dan anak . Tetapi dalam beberapa kes, seperti apabila berbilang subkomponen ingin menggunakan pembolehubah global yang sama dan menyediakan kaedah awam, anda boleh menggunakan kaedah provide / inject
.
Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang penggunaan asas provide / inject
yang disediakan dalam Vue, serta senario penggunaannya.
Dalam proses menggunakan provide / inject
, kita perlu memberi perhatian kepada tiga perkara:
-
provide / inject
digunakan terutamanya untuk pembangunan pemalam mewah dan tidak sesuai untuk pengaturcara yang membangunkan komponen biasa. - Pilihan sediakan hendaklah objek atau fungsi yang mengembalikan objek. Objek ini mengandungi sifat yang boleh disuntik ke dalam komponen lain.
-
provide / inject
Masalah utama yang diselesaikan ialah pemindahan maklumat antara komponen peringkat merentas, yang sering digunakan dalam pembangunan pemalam.
Akhir sekali, apabila kami menghadapi masalah seperti komunikasi komponen merentas peringkat, kami boleh menggunakan provide / inject
untuk menyelesaikan masalah ini memberikan kami kaedah pengaturcaraan yang lebih mudah dan menjadikan kod kami lebih ringkas. , mudah difahami.
Atas ialah kandungan terperinci Apakah provide & inject dalam Vue dan cara menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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.

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.

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.

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.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.
