怎么在Vue中利用Switch實(shí)現(xiàn)父子組件通信-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比衛(wèi)濱網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式衛(wèi)濱網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋衛(wèi)濱地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

問(wèn)題: 父組件傳入值到子組件,子組件修改之后怎樣傳回到父組件 

父組件:內(nèi)部首先要有三步

1、父組件中引用子組件

2、父組件中注冊(cè)子組件

3、在子組件上綁定傳值

父組件

<template> 
<div class="hello">  
<ul>   
<li @click="changeFlag">點(diǎn)擊開(kāi)關(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>

在第三步驟里,綁定了一個(gè)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>

在父組件里,傳了一個(gè)childFlag下來(lái),我們要在子組件里去接收,方式用props,具體的可以看官方文檔, 創(chuàng)建接收之后呢,我們需要把傳進(jìn)來(lái)的值綁定給我們子組件的data值即(flag2),完成這一步的話,我們就完成了父組件往子組件進(jìn)行傳值。

上面只是完成了父?jìng)髯?,下面講述怎么子傳父

子組件所需做的事情:

首先,我們需要在子組件里進(jìn)行改變其狀態(tài)值,這樣我們就創(chuàng)建了一個(gè)parentChangeFlag點(diǎn)擊事件,進(jìn)而改變當(dāng)前的子元素的(flag2)值;

其次,改變完當(dāng)前的值,我們就要把子元素的狀態(tài)值給傳回父組件,這樣就用到了$emit方法,this.$emit('function',Value);   function指父組件里監(jiān)聽(tīng)子元素點(diǎn)擊事件的函數(shù);Value就代表你需要傳回父元素的值。

父組件所需做的事情:

在父組件中,創(chuàng)建一個(gè)監(jiān)聽(tīng)子元素改變data值的函數(shù)(即@parentChangeFlag='parentChangeFlag')

methods: {
  changeFlag() {
    //父組建點(diǎn)擊改變?cè)貍髦到o子組件  
    this.flag = !this.flag
  },
  parentChangeFlag: function(flag2) {
    //父組件監(jiān)聽(tīng)子組件點(diǎn)擊的函數(shù) flag2為子組件傳進(jìn)來(lái)的值,把值賦給當(dāng)前元素,就實(shí)現(xiàn)了父子之間的通信   
    console.log(flag2) this.flag = flag2
  }
}

關(guān)于怎么在Vue中利用Switch實(shí)現(xiàn)父子組件通信就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:怎么在Vue中利用Switch實(shí)現(xiàn)父子組件通信-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article46/cosihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、App設(shè)計(jì)全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司