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

vue中provide、inject的使用方法案例詳解

 更新時間:2024年02月05日 14:54:53   作者:還是大劍師蘭特  
本教程是介紹如何在vue中使用provide和inject,在 Vue 中,provide 和 inject 是用于實現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,對vue中provide、inject的使用方法感興趣的朋友一起看看吧

示例背景

本教程是介紹如何在vue中使用provide和inject。在 Vue 中,provide 和 inject 是用于實現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式。 在這個示例中,祖組件通過 provide 提供了 message 變量 和message2 變量 ,子組件通過 inject 注入了 message 變量,孫組件通過 inject 注入了 message2 變量。這樣,子組件和孫就可以訪問到父組件提供的數(shù)據(jù)。

示例效果圖

示例源代碼

父組件代碼

/*
* @Author: 大劍師蘭特(xiaozhuanlan),還是大劍師蘭特(CSDN)
* @此源代碼版權(quán)歸大劍師蘭特所有,可供學習或商業(yè)項目中借鑒,未經(jīng)授權(quán),不得重復地發(fā)表到博客、論壇,問答,git等公共空間或網(wǎng)站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-04
*/
<template>
	<div class="djs-box">
		<div class="topBox">
			<h3>vue中provide/inject怎么使用(圖文示例)</h3>
			<div>大劍師蘭特, 還是大劍師蘭特,gis-dajianshi</div>
		</div>
		<div class="dajianshi">
               <ComA></ComA>
		</div>
	</div>
</template>
<script>
	import ComA from '../components/provideInject/demo-A.vue';
	export default {
		components:{
			ComA
		},
		  provide() {
		    return {
		      message: 'Hello from ROOT-message',
			  message2: 'Hello from ROOT-message2'
		    };
		  }
	}
</script>
<style scoped>
	.djs-box {
		width: 1000px;
		height: 650px;
		margin: 50px auto;
		border: 1px solid teal;
	}
	.topBox {
		margin: 0 auto 0px;
		padding: 10px 0 20px;
		background: teal;
		color: #fff;
	}
	.dajianshi {
		width: 98%;
		height: 480px;
		margin: 5px auto 0;
		display: flex;
		justify-content: space-between;
		border:1px solid #369;
	}
</style>

子組件代碼

/*
* @Author: 大劍師蘭特(xiaozhuanlan),還是大劍師蘭特(CSDN)
* @此源代碼版權(quán)歸大劍師蘭特所有,可供學習或商業(yè)項目中借鑒,未經(jīng)授權(quán),不得重復地發(fā)表到博客、論壇,問答,git等公共空間或網(wǎng)站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-04
*/
<template>
	<div style="margin-top: 100px;">
		<div class="left">
			<h2>兒子組件從跟組件獲取的信息message:</h2>
			<div style="color: blue;">{{message}}</div>
		</div>
		<div class="right">
			<h2>孫子組件從跟組件獲取的內(nèi)容message2:</h2>
			<ChildA></ChildA>
		</div>
	</div>
</template>
<script>
   	import ChildA from '@/components/provideInject/demo-A-A.vue';
	export default {
		inject: ['message'],
		components:{
			 ChildA
		},
	}
</script>
<style scoped>
	.left{ width: 48%; float:left;}
	.right{ width: 48%; float:right; height:300px; border:1px solid #ddd;}
</style>

孫組件代碼

/*
* @Author: 大劍師蘭特(xiaozhuanlan),還是大劍師蘭特(CSDN)
* @此源代碼版權(quán)歸大劍師蘭特所有,可供學習或商業(yè)項目中借鑒,未經(jīng)授權(quán),不得重復地發(fā)表到博客、論壇,問答,git等公共空間或網(wǎng)站中。
* @Email: 2909222303@qq.com
* @weixin: gis-dajianshi
* @First published in CSDN
* @First published time: 2024-02-04
*/
<template>
	<div>
		<div style="color: red;">{{ message2 }}</div>
	</div>
</template>
<script>
	export default {
      inject: ['message2'],
	}
</script>

基本使用步驟

Vue中的provide和inject是用于實現(xiàn)依賴注入的API,其基本使用步驟如下:

  • 在父組件中使用provide:在父組件(祖先組件)的provide選項中,指定想要提供給后代組件的數(shù)據(jù)或方法。這些數(shù)據(jù)或方法可以是任意類型,包括函數(shù)、對象、原始值等。
  • 在子組件中使用inject:在任何后代組件中,通過inject選項來接收父組件提供的數(shù)據(jù)或方法。inject可以是一個字符串數(shù)組,也可以是一個對象。如果是對象,可以指定鍵名與默認值。
  • 傳遞非響應式數(shù)據(jù):需要注意的是,通過provide/inject傳遞的數(shù)據(jù)不會自動變成響應式的。如果需要在子組件中監(jiān)聽這些數(shù)據(jù)的變化,可能需要結(jié)合Vue的響應式系統(tǒng)進行處理。
  • 解決逐級傳遞問題:provide/inject特別適用于解決跨多個層級的組件間數(shù)據(jù)傳遞問題,避免了通過props逐級傳遞的繁瑣過程。

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

相關(guān)文章

  • vue3項目新用戶引導組件driver.js示例詳解

    vue3項目新用戶引導組件driver.js示例詳解

    好用的用戶引導插件有?intro.js?和?driver.js?兩個,對比了一下,最終還是使用了driver.js,這篇文章主要介紹了vue3項目新用戶引導組件(driver.js),需要的朋友可以參考下
    2022-08-08
  • vue實現(xiàn)帶放大鏡的搜索框

    vue實現(xiàn)帶放大鏡的搜索框

    這篇文章主要為大家詳細介紹了vue實現(xiàn)帶放大鏡的搜索框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue使用mpegts.js的詳細步驟記錄

    vue使用mpegts.js的詳細步驟記錄

    MPEGTS.js是一個輕量級的JavaScript庫,用于處理MPEG-TS流,這篇文章主要給大家介紹了關(guān)于vue使用mpegts.js的詳細步驟記錄,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Vue3使用ref解決GetElementById為空的問題

    Vue3使用ref解決GetElementById為空的問題

    今天遇到一個問題,就是在Vue3組件中需要獲取template中的元素節(jié)點,使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問題,需要的朋友可以參考下
    2023-12-12
  • vue將某個組件打包成js并在其他項目使用

    vue將某個組件打包成js并在其他項目使用

    這篇文章主要給大家介紹了關(guān)于vue將某個組件打包成js并在其他項目使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • 在Vue中實現(xiàn)拖拽功能的實例

    在Vue中實現(xiàn)拖拽功能的實例

    Vue實現(xiàn)拖拽功能的基本原理是監(jiān)聽鼠標事件,實時更新拖拽元素的位置,最后在合適的時機停止拖拽并更新元素位置,在Vue中,我們可以通過綁定相關(guān)事件來實現(xiàn)這一功能
    2025-02-02
  • Vue中的變量賦值問題

    Vue中的變量賦值問題

    這篇文章主要介紹了Vue中的變量賦值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vuejs 單文件組件實例詳解

    Vuejs 單文件組件實例詳解

    這篇文章主要介紹了Vuejs 單文件組件實例詳解,需要的朋友可以參考下
    2018-02-02
  • 用vue2.0實現(xiàn)點擊選中active其他選項互斥的效果

    用vue2.0實現(xiàn)點擊選中active其他選項互斥的效果

    這篇文章主要介紹了用vue2.0實現(xiàn)點擊選中active其他選項互斥的效果,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue中g(shù)et和post請求的區(qū)別點總結(jié)

    vue中g(shù)et和post請求的區(qū)別點總結(jié)

    在本篇文章里小編給大家分享的是一篇關(guān)于vue中g(shù)et和post請求的區(qū)別點總結(jié)內(nèi)容,對此有興趣的朋友們可以跟著學習下。
    2021-12-12

最新評論

衡阳县| 商都县| 庆云县| 铜陵市| 鸡西市| 罗田县| 宜阳县| 泗洪县| 博白县| 海原县| 田林县| 洪洞县| 自贡市| 台州市| 汕头市| 林西县| 上高县| 台中市| 天长市| 炉霍县| 洪泽县| 克什克腾旗| 林西县| 拜泉县| 郁南县| 德钦县| 调兵山市| 郴州市| 平远县| 井冈山市| 松滋市| 台江县| 岚皋县| 平果县| 龙岩市| 滁州市| 昂仁县| 贞丰县| 德庆县| 河东区| 眉山市|