最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中EventBus的使用教程詳解

 更新時(shí)間:2024年02月03日 09:07:28   作者:還是大劍師蘭特  
在Vue中,使用EventBus可以實(shí)現(xiàn)組件間的通信,如何使用EventBus??都需要做哪些配置呢?他的注意事項(xiàng)是什么呢?下面就跟隨小編一起學(xué)習(xí)一下吧

示例背景

在Vue中,使用EventBus可以實(shí)現(xiàn)組件間的通信,如何使用EventBus? 都需要做哪些配置呢?他的注意事項(xiàng)是什么呢?請(qǐng)參考以下示例及使用步驟。

示例效果圖

示例源代碼

父組件:

/*
* @Author: 大劍師蘭特(xiaozhuanlan),還是大劍師蘭特(CSDN)
* @此源代碼版權(quán)歸大劍師蘭特所有,可供學(xué)習(xí)或商業(yè)項(xiàng)目中借鑒,未經(jīng)授權(quán),不得重復(fù)地發(fā)表到博客、論壇,問答,git等公共空間或網(wǎng)站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-03
*/

<template>
	<div class="djs-box">
		<div class="topBox">
			<h3>vue使用EventBus的圖文示例 </h3>
			<div>大劍師蘭特, 還是大劍師蘭特,gis-dajianshi</div>
		</div>
		<div class="dajianshi">
			<div class="item">
               <ComA></ComA>
			</div>
			<div class="item">
			   <ComB></ComB>
			</div>
		</div>
	</div>
</template>

<script>
	import ComA from '../components/eventbus/demo-A.vue';
	import ComB from '../components/eventbus/demo-B.vue'
	export default {
		data() {
			return {}
		},
		components:{
			ComA,
			ComB
		},
	}
</script>
<style scoped>
	.djs-box {
		width: 1000px;
		height: 650px;
		margin: 50px auto;
		border: 1px solid peru;
	}

	.topBox {
		margin: 0 auto 0px;
		padding: 10px 0 20px;
		background: peru;
		color: #fff;
	}

	.dajianshi {
		width: 98%;
		height: 480px;
		margin: 5px auto 0;
		display: flex;
		justify-content: space-between;
		
	}
	.item{
		width: 48%;
		height: 480px;
		margin-top: 20px;
		text-align: center;
		border: 1px solid #583;		
	}
</style>

子組件A:

<template>
	<div>
		<h2> 組件A:</h2>
		<el-button @click="sendMessage">發(fā)送消息給B</el-button>
		<h4> 從B獲取的消息:</h4>
		<div style="color: blue;">{{message}}</div>
	</div>
</template>

<script>
	import {
		EventBus
	} from '@/eventbus/index.js';

	export default {
		data() {
			return {
				message: ''
			};
		},
		mounted() {
			EventBus.$on('messageB', (msg) => {
				this.message = msg;
			});
		},
		methods: {
			sendMessage() {
				EventBus.$emit('messageA', 'Hello from Component A');
			}
		}
	}
</script>

子組件B:

<template>
	<div>
		<h2> 組件B:</h2>

		<el-button @click="sendMessage">發(fā)送消息給A</el-button>
		<h4> 從A獲取的消息:</h4>
		<div style="color: red;">{{ message }}</div>
	</div>
</template>

<script>
	import {
		EventBus
	} from '@/eventbus/index.js';

	export default {
		data() {
			return {
				message: ''
			};
		},
		mounted() {
			EventBus.$on('messageA', (msg) => {
				this.message = msg;
			});
		},
		methods: {
			sendMessage() {
				EventBus.$emit('messageB', 'Hello from Component B');
			}
		}
	}
</script>

eventbus/index.js:

import Vue from ‘vue’;
export const EventBus = new Vue();

EventBus的基本使用方法

List item初始化EventBus:首先需要?jiǎng)?chuàng)建一個(gè)EventBus實(shí)例??梢酝ㄟ^創(chuàng)建一個(gè)新的.js文件(如event-bus.js),然后導(dǎo)入Vue并實(shí)例化一個(gè)新的Vue對(duì)象來創(chuàng)建EventBus?;蛘撸梢灾苯釉陧?xiàng)目的main.js文件中初始化EventBus。

發(fā)送事件:要向EventBus發(fā)送事件,可以使用e m i t 方 法 。 例 如 , t h i s . emit方法。例如,this.emit方法。例如,this.EventBus.$emit(‘eventName’, payload),其中eventName是事件名,payload是要傳遞的參數(shù)。

監(jiān)聽事件:要在組件中監(jiān)聽EventBus上的事件,可以使用o n 方 法 。 例 如 , t h i s . on方法。例如,this.on方法。例如,this.EventBus.$on(‘eventName’, callback),其中eventName是事件名,callback是處理事件的函數(shù)。

監(jiān)聽:如果需要在組件銷毀時(shí)移除事件監(jiān)聽,可以使用o f f 方 法 。 例 如 , t h i s . off方法。例如,this.off方法。例如,this.EventBus.$off(‘eventName’, callback)。

注意事項(xiàng):雖然EventBus提供了一種簡單的方式來實(shí)現(xiàn)組件間通信,但過度使用可能會(huì)導(dǎo)致代碼難以維護(hù)。因此,對(duì)于更復(fù)雜的應(yīng)用,建議使用Vuex作為狀態(tài)管理解決方案。

總的來說,通過以上步驟,可以在Vue項(xiàng)目中使用EventBus來實(shí)現(xiàn)不同組件之間的通信。

到此這篇關(guān)于vue中EventBus的使用教程詳解的文章就介紹到這了,更多相關(guān)vue EventBus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue+FormData+axios實(shí)現(xiàn)圖片上傳功能的項(xiàng)目實(shí)戰(zhàn)

    Vue+FormData+axios實(shí)現(xiàn)圖片上傳功能的項(xiàng)目實(shí)戰(zhàn)

    本文主要介紹了Vue+FormData+axios實(shí)現(xiàn)圖片上傳功能的項(xiàng)目實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • vue短信驗(yàn)證性能優(yōu)化如何寫入localstorage中

    vue短信驗(yàn)證性能優(yōu)化如何寫入localstorage中

    這篇文章主要介紹了vue短信驗(yàn)證性能優(yōu)化寫入localstorage中的方法,解決這個(gè)問題需要把時(shí)間都寫到localstorage里面去,具體解決方法大家參考下本文
    2018-04-04
  • vue中配置scss全局變量的步驟

    vue中配置scss全局變量的步驟

    這篇文章主要介紹了vue中配置scss全局變量的步驟,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • vue3中vite.config.js相關(guān)常用配置超詳細(xì)講解

    vue3中vite.config.js相關(guān)常用配置超詳細(xì)講解

    在Vue3項(xiàng)目中vite.config.js文件是Vite構(gòu)建工具的配置文件,它用于定義項(xiàng)目的構(gòu)建和開發(fā)選項(xiàng),這篇文章主要介紹了vue3中vite.config.js相關(guān)常用配置的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • vue 判斷兩個(gè)時(shí)間插件結(jié)束時(shí)間必選大于開始時(shí)間的代碼

    vue 判斷兩個(gè)時(shí)間插件結(jié)束時(shí)間必選大于開始時(shí)間的代碼

    這篇文章主要介紹了vue 判斷兩個(gè)時(shí)間插件結(jié)束時(shí)間必選大于開始時(shí)間的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 深入理解vue-loader如何使用

    深入理解vue-loader如何使用

    本篇文章主要介紹了vue-loader,vue-loader是webpack下loader插件 可以把.vue文件輸出成組件,有興趣的可以了解一下
    2017-06-06
  • element table跨分頁多選及回顯的實(shí)現(xiàn)示例

    element table跨分頁多選及回顯的實(shí)現(xiàn)示例

    本文主要介紹了element table跨分頁多選及回顯的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Vue3的vite中圖片動(dòng)態(tài)加載3種方式

    Vue3的vite中圖片動(dòng)態(tài)加載3種方式

    這篇文章主要給大家介紹了關(guān)于Vue3的vite中圖片動(dòng)態(tài)加載3種方式的相關(guān)資料,圖片進(jìn)入可視區(qū)域,進(jìn)行動(dòng)態(tài)加載圖片操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Vue關(guān)于訪問外鏈?zhǔn)〉膯栴}

    Vue關(guān)于訪問外鏈?zhǔn)〉膯栴}

    這篇文章主要介紹了Vue關(guān)于訪問外鏈?zhǔn)〉膯栴},具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • element日期組件實(shí)現(xiàn)只能選擇小時(shí)或分鐘

    element日期組件實(shí)現(xiàn)只能選擇小時(shí)或分鐘

    本文主要介紹了element日期組件實(shí)現(xiàn)只能選擇小時(shí)或分鐘,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論

固阳县| 涿州市| 建湖县| 东明县| 寿宁县| 侯马市| 清水县| 三江| 崇州市| 永顺县| 施秉县| 大埔县| 怀宁县| 银川市| 绥宁县| 布尔津县| 汤阴县| 德格县| 江源县| 襄垣县| 深水埗区| 朝阳市| 新干县| 宜昌市| 白玉县| 思南县| 磴口县| 霞浦县| 闻喜县| 云林县| 威远县| 马山县| 修水县| 通河县| 台中县| 师宗县| 济南市| 饶阳县| 西安市| 宁化县| 二手房|