這篇文章給大家介紹怎么在Vue中利用Switch實現(xiàn)父子組件通信,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

問題: 父組件傳入值到子組件,子組件修改之后怎樣傳回到父組件
父組件:內(nèi)部首先要有三步
1、父組件中引用子組件
2、父組件中注冊子組件
3、在子組件上綁定傳值
父組件
<template>
<div class="hello">
<ul>
<li @click="changeFlag">點擊開關(guān)----------------父組件默認(rèn)為{{flag}}</li>
</ul>
<v-child :childFlag='flag' @parentChangeFlag='parentChangeFlag'></v-child>
//第三部
</div>
</template>
<script>
import child from '子組件地址' //第一步
data(){
return{
flag:false }},
components:{
'v-child': child //第二步
}
</script>在第三步驟里,綁定了一個childFlag傳給子組件,其值為flag
子組件
< template >
<div class = "hello" >
<ul >
<li@click = "parentChangeFlag" > 顯示 {
{
childFlag
}
}---子元素: {
{
flag2
}
}
< /li>
<li @click="parentChangeFlag" v-show="childFlag"><img src="./images / ios_switch_off.png " >
</li>
<li @click="parentChangeFlag " v-show=" ! childFlag "><img src=". / images / ios_switch_on.png " ></li>
</ul>
</div>
</template>
< script > export
default {
props:
{
childFlag:
{
type:
Boolean,
default:
true
}
},
data() {
return {
flag2: this.childFlag
};
},
watch: {
childFlag(flag2) {
this.flag2 = this.childFla
}
},methods: { // 子組件傳值給父組件 parentChangeFlag(){ this.flag2 = !this.flag2 this.$emit('parentChangeFlag',this.flag2) } }};</script>在父組件里,傳了一個childFlag下來,我們要在子組件里去接收,方式用props,具體的可以看官方文檔, 創(chuàng)建接收之后呢,我們需要把傳進(jìn)來的值綁定給我們子組件的data值即(flag2),完成這一步的話,我們就完成了父組件往子組件進(jìn)行傳值。
上面只是完成了父傳子,下面講述怎么子傳父
子組件所需做的事情:
首先,我們需要在子組件里進(jìn)行改變其狀態(tài)值,這樣我們就創(chuàng)建了一個parentChangeFlag點擊事件,進(jìn)而改變當(dāng)前的子元素的(flag2)值;
其次,改變完當(dāng)前的值,我們就要把子元素的狀態(tài)值給傳回父組件,這樣就用到了$emit方法,this.$emit('function',Value); function指父組件里監(jiān)聽子元素點擊事件的函數(shù);Value就代表你需要傳回父元素的值。
父組件所需做的事情:
在父組件中,創(chuàng)建一個監(jiān)聽子元素改變data值的函數(shù)(即@parentChangeFlag='parentChangeFlag')
methods: {
changeFlag() {
//父組建點擊改變元素傳值給子組件
this.flag = !this.flag
},
parentChangeFlag: function(flag2) {
//父組件監(jiān)聽子組件點擊的函數(shù) flag2為子組件傳進(jìn)來的值,把值賦給當(dāng)前元素,就實現(xiàn)了父子之間的通信
console.log(flag2) this.flag = flag2
}
}關(guān)于怎么在Vue中利用Switch實現(xiàn)父子組件通信就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
本文名稱:怎么在Vue中利用Switch實現(xiàn)父子組件通信-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://chinadenli.net/article46/cosihg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、App設(shè)計、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容