不觸發事件,vue子組件傳值給父組件


vue子傳父,本來是以為是要通過觸發一個事件,才能傳值到父組件的。

結果原來可以不用的。別人說vuex,太麻煩了。

其實可以不用。父組件必須異步的把值傳給子組件就可以了,例如axios里的請求,或者設置setTimeout

 

先說下場景:

子組件created的時候就請求一些數據,請求來的數據,要傳給父組件。此時都還沒有觸發任何事件。那么要傳值給父組件,就要這么做了。(其實很簡單的)

子組件代碼:

xxx.then(res=>{
     this.childData = data.res
     this.$emit('cdata',this.childData)    // 剛求完直接$emit
})

然后,父組件就要接收

import Child form 'xxx.vue'
<child @childData="getValue($event)"></child>

getValue(data){
  this.pdata = data
}

這樣請求完成了,父組件馬上就可以獲取到了子組件數據了,不用觸發事件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM