cari
Rumahhujung hadapan webView.jsSelami acara tersuai dalam komponen Vue

Selami acara tersuai dalam komponen Vue

Apr 06, 2022 pm 08:12 PM
vuekomponenAcara tersuai

Apakah acara tersuai komponen? Artikel ini akan memberi anda pemahaman yang mendalam tentang acara tersuai dalam komponen Vue dan membincangkan perkara yang perlu diberi perhatian tentang acara tersuai, saya harap ia akan membantu anda.

Selami acara tersuai dalam komponen Vue

Acara tersuai komponen ialah kaedah komunikasi antara komponen, yang sesuai untuk komponen anak menghantar data atau tingkah laku kepada komponen induk . (Belajar perkongsian video: tutorial vuejs)

Rajah skematik

Selami acara tersuai dalam komponen Vue

Nota tentang acara tersuai komponen:

  • 1 Acara tersuai komponen melaksanakan fungsi komunikasi antara komponen anak dan komponen induk Oleh itu, tindakan mengikat acara tersuai perlu diselesaikan dalam induk komponen

  • 2 Tindakan pencetus acara tersuai komponen perlu diselesaikan dalam subkomponen Sesiapa yang mengikat acara akan dicetuskan

Sebelum memahami peristiwa tersuai komponen, kami juga mempelajari tentang props juga boleh melaksanakan props komponen anak untuk berkomunikasi dengan komponen induk Seterusnya, saya akan beralih daripada kepada Tersuai komponen acara, supaya semua orang dapat lebih memahami acara tersuai komponen, dan anda juga boleh membandingkan perbezaan dan persamaan antara kedua-dua kaedahprops

Komunikasi antara komponen melalui prop

Dalam App.vue:

<!-- 通过父组件给子组件传递函数类型的props实现:子给父传递数据 -->
<TestA :getName="getName"/>
...
...
<script>
import TestA from &#39;./components/TestA&#39;
	export default {
		name:&#39;App&#39;,
		components:{TestA},
		data(){
			return{
				msg:&#39;你好呀&#39;
			}
		},
		methods:{
			getName(name){
				console.log(&#39;App组件收到了数据&#39;, name)
			},
		},
	}
</script>
Kaedah

dalam getName() dalam coretan kod digunakan untuk menerima parameter yang diluluskan oleh subkomponen name参数

TestA.vue:

<!--通过点击事件传递数据-->
<button @click="sendName">将姓名发送给App组件</button>
...
...
<script>
export default {
    name:&#39;TestA&#39;,
    //接收父组件传递过来的props
    props:["getName"],
    data(){
        return{
            name:&#39;路飞&#39;,
            age:18
        }
    },
    methods:{
        sendName(){
            //点击按钮后,触发此方法,传递name给父组件
            this.getName(this.name)
        }
    }
}
</script>
Di atas ialah sub-komponen yang menghantar data kepada komponen induk menggunakan prop

Perenderan adalah seperti berikut :

Kesan permulaan halaman:

Selami acara tersuai dalam komponen Vue

Selepas mengklik butang:

Selami acara tersuai dalam komponen Vue

Sebagai boleh dilihat daripada gambar , apabila butang diklik, konsol mengeluarkan data yang diterima oleh komponen induk, dan komponen anak menghantar data kepada komponen induk melalui

props

Antara- komunikasi komponen dilaksanakan melalui acara tersuai komponen

Langkah pertama adalah untuk mengikat acara tersuai kepada komponen Seperti yang dinyatakan pada permulaan artikel, acara tersuai mengikat dilakukan dalam komponen induk.

Selami acara tersuai dalam komponen Vue

Kedua, dalam subkomponen, peristiwa tersuai perlu dicetuskan untuk melengkapkan komunikasi acara tersuai komponen:

Selami acara tersuai dalam komponen Vue

Rendering Seperti berikut:

Kesan permulaan halaman:

Selami acara tersuai dalam komponen Vue

Selepas mengklik butang:

Selami acara tersuai dalam komponen Vue

Lulus Seperti yang dapat dilihat daripada gambar, apabila diklik, konsol mengeluarkan data yang diterima oleh komponen induk.

Melalui dua kaedah komunikasi di atas, kita boleh mendapati bahawa komponen anak menghantar data kepada komponen induk melalui kaedah

props Premisnya ialah komponen induk perlu menghantar fungsi panggil balik kepada komponen anak Hanya selepas komponen menerima ia boleh menghantar data kepada komponen induk Peristiwa tersuai komponen hanya perlu memanggil kaedah untuk mencetuskan peristiwa tersuai yang ditentukan $emit untuk menghantar data. kepada komponen induk.

Mata pengetahuan lain tentang acara tersuai komponen

Cara kedua untuk menyesuaikan pengikatan komponen

App.vue :

<template>
	<div class="app">
		<h1 id="msg">{{msg}}</h1>
		<!-- 通过父组件给子组件传递函数类型的props实现:子给父传递数据 -->
		<TestA :getName="getName"/>
		<!-- 通过父组件给子组件绑定一个自定义事件实现:子给父传递数据 -->
    <!--方法二-->
		<TestB ref="testb"/>
	</div>
</template>

<script>
import TestA from &#39;./components/TestA&#39;
import TestB from &#39;./components/TestB&#39;
	export default {
		name:&#39;App&#39;,
		components:{TestA, TestB},
		data(){
			return{
				msg:&#39;你好呀&#39;
			}
		},
		methods:{
			getName(name){
				console.log(&#39;我收到了数据&#39;, name)
			},
			send(name){
				console.log("send被调用了", name)
			}
		},
		mounted(){
			this.$refs.testb.$on(&#39;demo&#39;, this.send);
		}
	}
</script>

<style scoped>
.app{
	background-color: rgb(162, 255, 139);
	padding: 15px;
}
</style>
mendapat

melalui atribut ref dan selepas komponen dipasang (dilekapkan), gunakan TestB组件组件的实例对象(vc) untuk melengkapkan pengikatan peristiwa tersuai subkomponen , kesan yang sama boleh dicapai. this.$refs.组件名.$on('自定义事件名', 回调函数)

Selain itu, kaedah ini lebih fleksibel dan boleh menyelesaikan beberapa operasi, seperti acara tersuai sekali, kelewatan, pertimbangan, dsb.

Acara tersuai sekali

v-on:事件名.once="XXXX
或者
this.$refs.student.$once("事件名", 事件内容)

Menyahikat acara tersuai

Apabila kami selesai menggunakan acara tersuai Selepas acara itu, anda boleh menyahjilid acara tersuai Kelebihan melakukan ini adalah untuk meminimumkan penggunaan prestasi program dan meningkatkan kecekapan operasi program

Tindakan tidak mengikat tersuai juga dilakukan dalam sub-komponen,

Ringkasnya, anda boleh membuka ikatannya kepada sesiapa sahaja yang terikat.

Dalam UjianB

<template>
  <div>
      <h2 id="籍贯-native">籍贯:{{native}}</h2>
      <h2 id="详细地址-adress">详细地址:{{adress}}</h2>
      <button @click="sendNative">点击触发自定义事件</button>
      <button @click="noBand">解绑自定义事件</button>
  </div>
</template>

<script>
export default {
    name:&#39;TestB&#39;,
    data(){
        return{
            native:&#39;东海&#39;,
            adress:&#39;东海风车村&#39;
        }
    },
    methods:{
        sendNative(){
            this.$emit(&#39;demo&#39;,this.native)
        },
        //解绑demo自定义事件
        noBand(){
            this.$off(&#39;demo&#39;);
        }
    }
    
}
</script>

<style scoped>
div{
    background-color: aquamarine;
    padding: 15px;
    margin-top: 5px;
}
</style>
Perkara lain ialah, jika Ada ialah banyak acara tersuai yang perlu dilepaskan, supaya anda boleh menulis:

{方法体内
    this.$off();
}

直接不用传递任何参数,这样写的话,只要是给此组件绑定的任何自定义事件都会解绑

总结

以上内容就是组件的自定义事件的使用,自定义事件虽然在Vuejs中不是一个非常重要的点,但是也是一个实际开发中比较常用的点,在进行某些业务操作时,使用自定义事件可能会节省开发时间以及优化代码,减少代码冗余量,组件自定义事件的具体操作还要看所处的业务逻辑和行为是什么。

Selami acara tersuai dalam komponen Vue

如果觉得内容不错的话,记得点赞收藏~~~

(学习视频分享:web前端开发

Atas ialah kandungan terperinci Selami acara tersuai dalam komponen Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:掘金社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Fungsi Vue.js: Meningkatkan Pengalaman Pengguna di FrontendFungsi Vue.js: Meningkatkan Pengalaman Pengguna di FrontendApr 19, 2025 am 12:13 AM

Vue.js meningkatkan pengalaman pengguna melalui pelbagai fungsi: 1. Sistem responsif menyedari maklum balas data masa nyata; 2. Pembangunan komponen meningkatkan kebolehgunaan semula kod; 3. Vuerouter menyediakan navigasi lancar; 4. Data dinamik mengikat dan animasi peralihan meningkatkan kesan interaksi; 5. Mekanisme pemprosesan ralat memastikan maklum balas pengguna; 6. Pengoptimuman prestasi dan amalan terbaik meningkatkan prestasi aplikasi.

Vue.js: Menentukan peranannya dalam pembangunan webVue.js: Menentukan peranannya dalam pembangunan webApr 18, 2025 am 12:07 AM

Peranan vue.js dalam pembangunan web adalah bertindak sebagai rangka kerja JavaScript yang progresif yang memudahkan proses pembangunan dan meningkatkan kecekapan. 1) Ia membolehkan pemaju memberi tumpuan kepada logik perniagaan melalui pengikatan data yang responsif dan pembangunan komponen. 2) Prinsip kerja Vue.js bergantung kepada sistem responsif dan DOM maya untuk mengoptimumkan prestasi. 3) Dalam projek sebenar, adalah amalan biasa untuk menggunakan VUEX untuk menguruskan keadaan global dan mengoptimumkan respons data.

Memahami Vue.js: Terutama rangka kerja frontendMemahami Vue.js: Terutama rangka kerja frontendApr 17, 2025 am 12:20 AM

Vue.js adalah kerangka JavaScript yang progresif yang dikeluarkan oleh You Yuxi pada tahun 2014 untuk membina antara muka pengguna. Kelebihan terasnya termasuk: 1. Pengikatan data responsif, Paparan Kemas Kini Automatik Perubahan Data; 2. Pembangunan komponen, UI boleh dibahagikan kepada komponen bebas dan boleh diguna semula.

Frontend Netflix: Contoh dan Aplikasi React (atau Vue)Frontend Netflix: Contoh dan Aplikasi React (atau Vue)Apr 16, 2025 am 12:08 AM

Netflix menggunakan React sebagai kerangka depannya. 1) Model pembangunan komponen React dan ekosistem yang kuat adalah sebab utama mengapa Netflix memilihnya. 2) Melalui komponen, Netflix memisahkan antara muka kompleks ke dalam ketulan yang boleh diurus seperti pemain video, senarai cadangan dan komen pengguna. 3) Kitaran Hayat DOM dan Komponen Maya React mengoptimumkan kecekapan rendering dan pengurusan interaksi pengguna.

Landskap Frontend: Bagaimana Netflix menghampiri pilihannyaLandskap Frontend: Bagaimana Netflix menghampiri pilihannyaApr 15, 2025 am 12:13 AM

Pilihan Netflix dalam teknologi front-end terutamanya memberi tumpuan kepada tiga aspek: pengoptimuman prestasi, skalabilitas dan pengalaman pengguna. 1. Pengoptimuman Prestasi: Netflix memilih React sebagai kerangka utama dan alat yang dibangunkan seperti SpeedCurve dan Boomerang untuk memantau dan mengoptimumkan pengalaman pengguna. 2. Skalabiliti: Mereka mengamalkan seni bina front-end mikro, memisahkan aplikasi ke dalam modul bebas, meningkatkan kecekapan pembangunan dan skalabilitas sistem. 3. Pengalaman Pengguna: Netflix menggunakan perpustakaan komponen bahan-UI untuk terus mengoptimumkan antara muka melalui ujian A/B dan maklum balas pengguna untuk memastikan konsistensi dan estetika.

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)

Pilihan Rangka Kerja: Apa yang mendorong keputusan Netflix?Pilihan Rangka Kerja: Apa yang mendorong keputusan Netflix?Apr 13, 2025 am 12:05 AM

Netflix terutamanya menganggap prestasi, skalabiliti, kecekapan pembangunan, ekosistem, hutang teknikal dan kos penyelenggaraan dalam pemilihan rangka kerja. 1. Prestasi dan Skalabiliti: Java dan Springboot dipilih untuk memproses data besar -besaran dan permintaan serentak yang tinggi. 2. Kecekapan Pembangunan dan Ekosistem: Gunakan React untuk meningkatkan kecekapan pembangunan front-end dan menggunakan ekosistemnya yang kaya. 3. Hutang Teknikal dan Penyelenggaraan Kos: Pilih Node.js untuk membina mikroservis untuk mengurangkan kos penyelenggaraan dan hutang teknikal.

React, Vue, dan Masa Depan Frontend NetflixReact, Vue, dan Masa Depan Frontend NetflixApr 12, 2025 am 12:12 AM

Netflix terutamanya menggunakan React sebagai rangka kerja front-end, ditambah dengan VUE untuk fungsi tertentu. 1) Komponen React dan DOM maya meningkatkan prestasi dan kecekapan pembangunan aplikasi Netflix. 2) VUE digunakan dalam alat dalaman dan projek kecil Netflix, dan fleksibiliti dan kemudahan penggunaannya adalah kunci.

See all articles

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.

Alat panas

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa