溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Vue3中怎么修改父組件傳遞到子組件中的值

發(fā)布時間:2023-04-15 13:55:04 來源:億速云 閱讀:119 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Vue3中怎么修改父組件傳遞到子組件中的值的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Vue3中怎么修改父組件傳遞到子組件中的值文章都會有所收獲,下面我們一起來看看吧。

自定義組件上使用v-model

父組件:

//此處是父組件中引入的子組件
<ChildrenView  v-model:num="num"/>

//定義數(shù)據(jù)
let num=ref(10);//定義num為10,傳遞給子組件

子組件:

<script setup>
	//子組件接收父組件傳遞過來的數(shù)據(jù)
	let props=defineProps({
		num:number;
	});
	console.log(props.num)//接收過來的數(shù)據(jù)num=10

	//重點:開始修改子組件傳遞過來的num
	//1.引入我們的 **emit("自定義事件名",傳遞的數(shù)據(jù))** 函數(shù),用來觸發(fā)自定義事件
	//2.使用emit()
	let emit=defineEmits(["update:num"]);//自定義的更新num事件
	//3.假設(shè)子組件里的有個按鈕,執(zhí)行的是這個changeNum事件
	let changeNum=()=>{
		emit("update:num",100);//觸發(fā)自定義事件,將父組件的num修改為100
	}
	
</script>

注意:
1.大家肯定有疑惑,這個emit()不就是子傳父的時候用的嗎,那么父組件上不應(yīng)該去綁定這個update:num嗎?
如下:父組件:<ChildrenView v-model:num="num" @update:num="changeNum" >
是的,確實是子傳父用的,但是你沒必要再去綁定@update:num了。
why?
因為尤大大在自定義組件上使用v-model自己已經(jīng)做過了處理,所以你只需要emit(“定義update:值”,數(shù)據(jù))即可修改父組件的值了

關(guān)于“Vue3中怎么修改父組件傳遞到子組件中的值”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Vue3中怎么修改父組件傳遞到子組件中的值”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI