久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - vue渲染子組件異步問(wèn)題

瀏覽:125日期:2023-01-07 15:56:33

問(wèn)題描述

現(xiàn)在有一個(gè)組件A。里面包含了組件B,C,D,由于涉及了數(shù)據(jù)共享,組件B需要用x參數(shù)發(fā)請(qǐng)求,但是x參數(shù)是在A里面發(fā)請(qǐng)求獲取到的,現(xiàn)在出現(xiàn)的問(wèn)題是在A還沒(méi)獲取到參數(shù)x的時(shí)候B就已經(jīng)先一步發(fā)請(qǐng)求了(結(jié)果請(qǐng)求400錯(cuò)誤),出現(xiàn)問(wèn)題的根本問(wèn)題是父組件與子組件的渲染都是異步進(jìn)行的,在父組件獲取參數(shù)時(shí)用了async+await。

async beforeMount(){ let x = await this.getCityInfo(); this.GET_POSITION(x); console.log(11);},

現(xiàn)在目前能想到的方案就將B,C,D全部整合到A內(nèi)部,使A內(nèi)部沒(méi)有子組件,這樣就不會(huì)有組件之間異步渲染的問(wèn)題,請(qǐng)問(wèn)還有其他更好的方案嗎?

問(wèn)題解答

回答1:

獲取 x 成功之前不渲染 B

<B v-if='x'></B>

或者 B 自己 watch prop x ,值不對(duì)不發(fā)請(qǐng)求。

watch: { x (value) { if (value) { // send request } }}回答2:

A請(qǐng)求完了emit一個(gè)事件 B去監(jiān)聽(tīng)就是了

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 勐海县| 白水县| 平凉市| 蕲春县| 胶南市| 阳江市| 孝昌县| 县级市| 漠河县| 彩票| 闽清县| 晋城| 岗巴县| 广汉市| 容城县| 尖扎县| 茂名市| 沈丘县| 如皋市| 盐源县| 喀喇沁旗| 淳化县| 望奎县| 丽江市| 乌兰察布市| 蒲城县| 巍山| 静乐县| 义乌市| 兴化市| 宜都市| 新田县| 越西县| 修水县| 海安县| 闻喜县| 乐都县| 张家界市| 获嘉县| 白山市| 米泉市|