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

Vue中provide和inject的使用教程詳解

 更新時(shí)間:2024年02月04日 08:50:02   作者:還是大劍師蘭特  
在?Vue?中,provide?和?inject?是用于實(shí)現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,本文主要來和大家詳細(xì)講講provide和inject的使用方法,希望對(duì)大家有所幫助

示例背景

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

示例效果圖

示例源代碼

父組件代碼

<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>

子組件代碼

<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>

孫組件代碼

<template>
	<div>
		<div style="color: red;">{{ message2 }}</div>
	</div>
</template>

<script>
	export default {
      inject: ['message2'],
	}
</script>

基本使用步驟

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

在父組件中使用provide:在父組件(祖先組件)的provide選項(xiàng)中,指定想要提供給后代組件的數(shù)據(jù)或方法。這些數(shù)據(jù)或方法可以是任意類型,包括函數(shù)、對(duì)象、原始值等。

在子組件中使用inject:在任何后代組件中,通過inject選項(xiàng)來接收父組件提供的數(shù)據(jù)或方法。inject可以是一個(gè)字符串?dāng)?shù)組,也可以是一個(gè)對(duì)象。如果是對(duì)象,可以指定鍵名與默認(rèn)值。

傳遞非響應(yīng)式數(shù)據(jù):需要注意的是,通過provide/inject傳遞的數(shù)據(jù)不會(huì)自動(dòng)變成響應(yīng)式的。如果需要在子組件中監(jiān)聽這些數(shù)據(jù)的變化,可能需要結(jié)合Vue的響應(yīng)式系統(tǒng)進(jìn)行處理。

解決逐級(jí)傳遞問題:provide/inject特別適用于解決跨多個(gè)層級(jí)的組件間數(shù)據(jù)傳遞問題,避免了通過props逐級(jí)傳遞的繁瑣過程。

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

相關(guān)文章

  • vue中@click綁定事件點(diǎn)擊不生效的原因及解決方案

    vue中@click綁定事件點(diǎn)擊不生效的原因及解決方案

    根據(jù)Vue2.0官方文檔關(guān)于父子組件通訊的原則,父組件通過prop傳遞數(shù)據(jù)給子組件,子組件觸發(fā)事件給父組件,這篇文章主要介紹了vue中@click綁定事件點(diǎn)擊不生效的解決方案,需要的朋友可以參考下
    2022-12-12
  • vue組件從開發(fā)到發(fā)布的實(shí)現(xiàn)步驟

    vue組件從開發(fā)到發(fā)布的實(shí)現(xiàn)步驟

    這篇文章主要介紹了vue組件從開發(fā)到發(fā)布的實(shí)現(xiàn)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • Vue實(shí)現(xiàn)父子組件之間的數(shù)據(jù)傳遞

    Vue實(shí)現(xiàn)父子組件之間的數(shù)據(jù)傳遞

    在前端開發(fā)中,Vue.js 是一個(gè)非常流行的框架,因其易學(xué)易用而受到許多開發(fā)者的青睞,其中,組件是 Vue 的核心概念之一,組件之間的數(shù)據(jù)傳遞是開發(fā)中的常見需求,本文將探討如何在 Vue 中實(shí)現(xiàn)父子組件之間的數(shù)據(jù)傳遞,需要的朋友可以參考下
    2024-11-11
  • vue獲取或者改變vuex中的值方式

    vue獲取或者改變vuex中的值方式

    這篇文章主要介紹了vue獲取或者改變vuex中的值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue 地圖可視化 maptalks 篇實(shí)例代碼詳解

    vue 地圖可視化 maptalks 篇實(shí)例代碼詳解

    這篇文章主要介紹了vue 地圖可視化 maptalks 篇,本文分步驟通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • vue配置啟動(dòng)項(xiàng)目自動(dòng)打開瀏覽器方式

    vue配置啟動(dòng)項(xiàng)目自動(dòng)打開瀏覽器方式

    這篇文章主要介紹了vue配置啟動(dòng)項(xiàng)目自動(dòng)打開瀏覽器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • VUE 3D輪播圖封裝實(shí)現(xiàn)方法

    VUE 3D輪播圖封裝實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了VUE 3D輪播圖封裝實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • vue cli 3.x 項(xiàng)目部署到 github pages的方法

    vue cli 3.x 項(xiàng)目部署到 github pages的方法

    這篇文章主要介紹了vue cli 3.x 項(xiàng)目部署到 github pages的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • Vue安裝與環(huán)境配置步驟詳解

    Vue安裝與環(huán)境配置步驟詳解

    在開始學(xué)習(xí)vue的時(shí)候,對(duì)于新手安裝這個(gè)環(huán)境是真的搞人心態(tài),不友好,下面這篇文章主要給大家介紹了關(guān)于Vue安裝與環(huán)境配置的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Vue實(shí)現(xiàn)文本展開收起功能

    Vue實(shí)現(xiàn)文本展開收起功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)文本展開收起功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論

峨边| 尼勒克县| 桑日县| 石泉县| 锦州市| 东台市| 永胜县| 临泉县| 扬州市| 崇文区| 同德县| 张家川| 永川市| 邓州市| 土默特右旗| 尼玛县| 分宜县| 上虞市| 曲周县| 崇州市| 汪清县| 夏河县| 华亭县| 榕江县| 衢州市| 西安市| 乌拉特中旗| 车致| 青龙| 三原县| 辽宁省| 高雄市| 郑州市| SHOW| 沂水县| 内丘县| 于都县| 孝昌县| 佳木斯市| 德钦县| 讷河市|