Kaedah: 1. Berkomunikasi melalui nenek moyang yang sama "$parent" atau "$root"; parameter "$emit" ialah nilai yang diluluskan dan komponen adik beradik lain mendengar acara tersuai melalui "$on".
Persekitaran pengendalian artikel ini: sistem Windows 10, versi Vue 2.9.6, komputer DELL G3.
Apakah cara untuk berkomunikasi antara komponen Vue?
1. Konsep komunikasi antara komponen
Sebelum kita mulakan, kami meletakkan komponen Pisah perkataan komunikasi antara
Komponen
Komunikasi
Kita semua tahu bahawa komponen adalah salah satu fungsi yang paling berkuasa bagi vue .vue in vue. Ia adalah komponen
Komunikasi merujuk kepada pengirim yang menghantar maklumat kepada penerima melalui media tertentu dan format tertentu untuk mencapai tujuan tertentu. Dalam erti kata yang luas, trafik mana-mana maklumat adalah komunikasi
Komunikasi antara komponen bermaksud komponen (.vue) menghantar maklumat dengan cara tertentu untuk mencapai tujuan tertentu
Sebagai contoh
Apabila kami menggunakan komponen jadual dalam rangka kerja UI, kami mungkin menghantar data tertentu ke dalam komponen jadual Ini pada asasnya membentuk komunikasi antara komponen
2. Komponen Apakah yang dimaksudkan antara. -penyelesaian komunikasi?
Pada zaman dahulu, orang ramai menghantar maklumat melalui stesen pos, merpati terbang untuk menyampaikan mesej, penggera kebakaran suar, simbol, bahasa, mata, sentuhan, dll. Hari ini, bila-bila masa Dengan perkembangan pesat sains dan teknologi, komunikasi pada asasnya diselesaikan secara berwayar atau tanpa wayar Pelbagai kaedah komunikasi seperti telefon berwayar, telefon talian tetap, telefon tanpa wayar, telefon bimbit, Internet dan juga panggilan video telah muncul satu demi satu
<.>Daripada perenggan di atas, kita dapat melihat bahawa intipati komunikasi adalah penyegerakan maklumat, perkongsian Kembali ke vue, setiap komponen mempunyai skopnya sendiri, dan data antara komponen tidak boleh dikongsi Tetapi dalam kerja pembangunan sebenar, kita sering perlu berkongsi data antara komponen, yang juga merupakan tujuan komunikasi komponenAdalah perlu bagi mereka untuk berkomunikasi antara satu sama lain, supaya membentuk sistem yang organik dan lengkap2 Klasifikasi komunikasi antara komponen
Pengkelasan komunikasi antara komponen boleh dibahagikan kepada yang berikut- Komponen ibu bapa dan anak Komunikasi antara
- Komunikasi antara komponen adik-beradik
- Komunikasi antara nenek moyang dan keturunan
- Komunikasi antara komponen bukan perhubungan
3. Pelan komunikasi antara komponen
Organisasi 8. penyelesaian komunikasi biasa dalam vue- Dihantarkan melalui prop
- Cetuskan acara tersuai melalui $emit
- Gunakan ref
- EventBus
- induk atau akar
- attr dan pendengar
- Sediakan dan Suntikan
- Vuex
data pas props
Senario yang berkenaan: komponen induk menghantar data kepada komponen anakKomponen anak menetapkan atribut props dan mentakrifkan parameter yang akan diterima daripada komponen indukKomponen induk menggunakan literal apabila menggunakan anak tag komponen Untuk melepasi nilaiChildren.vueprops:{ // 字符串形式 name:String // 接收的类型参数 // 对象形式 age:{ type:Number, // 接收的类型为数值 defaule:18, // 默认值为18 require:true // age属性必须传递 } }Komponen Father.vue
$emit mencetuskan peristiwa tersuai
Senario yang berkenaan: komponen kanak-kanak menghantar data kepada komponen indukKomponen kanak-kanak mencetuskan peristiwa tersuai melalui $emit, $emit second parameter ialah nilai yang diluluskan Komponen induk mengikat pendengar untuk mendapatkan parameter yang diluluskan oleh komponen anakChilfen.vuethis.$emit('add', good) Father.vue <Children @add="cartAdd($event)" />
ref
Komponen induk menetapkan rujukan apabila menggunakan komponen anakKomponen induk memperoleh data dengan menetapkan rujukan komponen anakKomponen induk<Children ref="foo" /> this.$refs.foo // 获取子组件实例,通过子组件实例我们就能拿到对应的数据
EventBus
Senario penggunaan: komponen adik-beradik lulus nilai Buat bas masa pusat EventBusKomponen adik-beradik mencetus peristiwa tersuai melalui $ emit, $emit Parameter kedua ialah nilai lulus Komponen adik beradik lain mendengar acara tersuai melalui $onBus.js// 创建一个中央时间总线类 class Bus { constructor() { this.callbacks = {}; // 存放事件的名字 } $on(name, fn) { this.callbacks[name] = this.callbacks[name] || []; this.callbacks[name].push(fn); } $emit(name, args) { if (this.callbacks[name]) { this.callbacks[name].forEach((cb) => cb(args)); } } }
// main.js Vue.prototype.$bus = new Bus() // 将$bus挂载到vue实例的原型上 // 另一种方式 Vue.prototype.$bus = new Vue() // Vue已经实现了Bus的功能attrs dan pendengarSenario yang boleh digunakan: Nenek moyang menghantar data kepada keturunanTetapkan atribut muat naik kelompok $attrs dan $listeners
this.$parent.on('add',this.add)
Mengandungi pengikatan sifat (kecuali kelas dan gaya) yang tidak diiktiraf (dan diperoleh) sebagai prop dalam skop induk.
this.$parent.emit('add')Anda boleh lulus v-bind="$attrs" untuk lulus komponen dalaman
menyediakan dan menyuntik
dalam komponen ancestor Tentukan atribut sediakan dan kembalikan nilai yang diluluskan Komponen keturunan menerima nilai yang diluluskan oleh komponen melalui suntikan Komponen nenek moyang// child:并未在props中声明foo <p>{{$attrs.foo}}</p> // parent <HelloWorld foo="foo"/>
// 给Grandson隔代传值,communication/index.vue <Child2 msg="lalala" @some-event="onSomeEvent"></Child2> // Child2做展开 <Grandson v-bind="$attrs" v-on="$listeners"></Grandson> // Grandson使⽤ <div @click="$emit('some-event', 'msg from grandson')"> {{msg}} </div>
Komponen keturunan inject:['foo'] // Dapatkan nilai yang diluluskan oleh komponen nenek moyang
vuexSenario yang berkenaan: Pemindahan data komponen dengan perhubungan yang kompleks
Vuex berfungsi sebagai bekas untuk menyimpan pembolehubah yang dikongsi
keadaan digunakan untuk menyimpan pembolehubah yang dikongsi
pengambil, anda boleh menambah keadaan terbitan pengambil, (bersamaan dengan stor di kedai Dikira atribut), digunakan untuk mendapatkan nilai pembolehubah yang dikongsi
mutasi digunakan untuk menyimpan kaedah untuk mengubah suai keadaan.
Tindakan juga digunakan untuk menyimpan kaedah untuk mengubah keadaan, tetapi tindakan adalah berdasarkan mutasi. Biasa digunakan untuk melakukan beberapa operasi tak segerak
Ringkasan
Untuk pemindahan data komponen perhubungan ibu bapa-anak, prop dan $emit boleh dipilih untuk pemindahan Anda juga boleh memilih ref
Untuk pemindahan data komponen perhubungan adik-beradik, anda boleh Pilih $bus, dan kemudian anda boleh memilih $parent untuk pemindahan
Untuk pemindahan data komponen moyang dan keturunan, anda boleh memilih attrs dan pendengar atau Provide dan Inject
Pemindahan data komponen untuk perhubungan yang kompleks boleh disimpan dan dikongsi melalui Pembolehubah vuex
[Cadangan berkaitan: "tutorial vue.js"]
Atas ialah kandungan terperinci Apakah cara untuk berkomunikasi antara komponen Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Vue.js dan bertindak balas masing -masing mempunyai kelebihan mereka sendiri: vue.js sesuai untuk aplikasi kecil dan perkembangan pesat, sementara React sesuai untuk aplikasi besar dan pengurusan negara yang kompleks. 1.vue.js Menyedari kemas kini automatik melalui sistem responsif, sesuai untuk aplikasi kecil. 2. REACT menggunakan algoritma DOM dan Diff Virtual, yang sesuai untuk aplikasi besar dan kompleks. Apabila memilih rangka kerja, anda perlu mempertimbangkan keperluan projek dan timbunan teknologi pasukan.

Vue.js dan bertindak balas masing -masing mempunyai kelebihan sendiri, dan pilihan harus berdasarkan keperluan projek dan tumpukan teknologi pasukan. 1. Vue.js adalah mesra komuniti, menyediakan sumber pembelajaran yang kaya, dan ekosistem termasuk alat rasmi seperti Vuerouter, yang disokong oleh pasukan rasmi dan masyarakat. 2. Komuniti React adalah berat sebelah terhadap aplikasi perusahaan, dengan ekosistem yang kuat, dan sokongan yang disediakan oleh Facebook dan komuniti, dan mempunyai kemas kini yang kerap.

Netflix menggunakan React untuk meningkatkan pengalaman pengguna. 1) Ciri -ciri komponen React membantu Netflix Split Complex UI ke dalam modul yang boleh diurus. 2) Maya DOM mengoptimumkan kemas kini UI dan meningkatkan prestasi. 3) Menggabungkan Redux dan GraphQL, Netflix dengan cekap menguruskan status aplikasi dan aliran data.

Vue.js adalah kerangka depan, dan rangka kerja belakang digunakan untuk mengendalikan logik sisi pelayan. 1) Vue.js memberi tumpuan kepada membina antara muka pengguna dan memudahkan pembangunan melalui pengikatan data komponen dan responsif. 2) Rangka kerja back-end seperti Express dan Django mengendalikan permintaan HTTP, operasi pangkalan data dan logik perniagaan, dan dijalankan di pelayan.

Vue.js disepadukan dengan tumpuan teknologi front-end untuk meningkatkan kecekapan pembangunan dan pengalaman pengguna. 1) Alat Pembinaan: Mengintegrasikan dengan Webpack dan Rollup untuk mencapai pembangunan modular. 2) Pengurusan Negeri: Bersepadu dengan VUEX untuk menguruskan status aplikasi yang kompleks. 3) Routing: Mengintegrasikan dengan Vuerouter untuk merealisasikan penghalaan aplikasi tunggal halaman. 4) Preprocessor CSS: Menyokong SASS dan kurang untuk meningkatkan kecekapan pembangunan gaya.

Netflix memilih React untuk membina antara muka penggunanya kerana reka bentuk komponen React dan mekanisme DOM maya dapat mengendalikan antara muka yang kompleks dan kemas kini yang kerap. 1) Reka bentuk berasaskan komponen membolehkan Netflix memecah antara muka ke dalam widget yang boleh diurus, meningkatkan kecekapan pembangunan dan pemeliharaan kod. 2) Mekanisme DOM maya memastikan kelancaran dan prestasi tinggi antara muka pengguna Netflix dengan meminimumkan operasi DOM.

Vue.js disukai oleh pemaju kerana mudah digunakan dan berkuasa. 1) Sistem pengikat data responsifnya secara automatik mengemas kini paparan. 2) Sistem komponen meningkatkan kebolehgunaan semula dan mengekalkan kod. 3) Ciri -ciri pengkomputeran dan pendengar meningkatkan kebolehbacaan dan prestasi kod. 4) Menggunakan vuedevtools dan memeriksa kesilapan konsol adalah teknik debugging biasa. 5) Pengoptimuman Prestasi termasuk penggunaan atribut utama, atribut yang dikira dan komponen-komponen Alive. 6) Amalan terbaik termasuk penamaan komponen yang jelas, penggunaan komponen fail tunggal dan penggunaan cangkuk kitaran hidup yang rasional.

Vue.js adalah rangka kerja JavaScript yang progresif yang sesuai untuk membina aplikasi front-end yang cekap dan boleh dipelihara. Ciri -ciri utamanya termasuk: 1. Pengikatan data responsif, 2. Pembangunan Komponen, 3. Dom maya. Melalui ciri -ciri ini, Vue.js memudahkan proses pembangunan, meningkatkan prestasi aplikasi dan mengekalkan, menjadikannya sangat popular dalam pembangunan web moden.


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

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

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular
