文章詳情頁
javascript - vue渲染子組件異步問題
瀏覽:100日期:2023-01-07 15:56:33
問題描述
現在有一個組件A。里面包含了組件B,C,D,由于涉及了數據共享,組件B需要用x參數發請求,但是x參數是在A里面發請求獲取到的,現在出現的問題是在A還沒獲取到參數x的時候B就已經先一步發請求了(結果請求400錯誤),出現問題的根本問題是父組件與子組件的渲染都是異步進行的,在父組件獲取參數時用了async+await。
async beforeMount(){ let x = await this.getCityInfo(); this.GET_POSITION(x); console.log(11);},
現在目前能想到的方案就將B,C,D全部整合到A內部,使A內部沒有子組件,這樣就不會有組件之間異步渲染的問題,請問還有其他更好的方案嗎?
問題解答
回答1:獲取 x 成功之前不渲染 B
<B v-if='x'></B>
或者 B 自己 watch prop x ,值不對不發請求。
watch: { x (value) { if (value) { // send request } }}回答2:
A請求完了emit一個事件 B去監聽就是了
標簽:
JavaScript
相關文章:
1. javascript - js中遞歸與for循環同時發生的時候,代碼的執行順序是怎樣的?2. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發現3. python - linux怎么在每天的凌晨2點執行一次這個log.py文件4. php如何獲取訪問者路由器的mac地址5. android - 鍵盤遮擋RecyclerView6. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?7. javascript - jQuery each 方法第三個參數args 如何解釋?8. javascript - 在 vue里面用import引入js文件,結果為undefined9. java - new + 類名,一定需要申明一個對象嗎?10. javascript - ...mapGetters和...mapState獲取到的state,怎么拿來在methods中操作?
排行榜
