第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

vue怎么保證在渲染之前就拿到數(shù)據(jù),相當(dāng)于阻塞生命周期?

vue怎么保證在渲染之前就拿到數(shù)據(jù),相當(dāng)于阻塞生命周期?

不負(fù)相思意 2019-03-25 21:19:51
異步請求數(shù)據(jù),但是生命周期函數(shù)也是異步的,怎么才能保證渲染之前就能拿到數(shù)據(jù)呢?
查看完整描述

7 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

你的要求可以這樣理解?
我在 beforeCreate 里請求一個(gè)API,之后就不希望 VUE 繼續(xù),直到數(shù)據(jù)回來后再執(zhí)行 VUE 的生命周期?
如果是這樣的,那辦不到。

簡單的變通方法,可以使用樓上的 v-if 思路。

另外,也是官方可以做到的,可以這樣。
在路由跳轉(zhuǎn)到此之前請求數(shù)據(jù),請求到執(zhí)行 next() 操作后,再開始執(zhí)行 VUE 的生命周期。
資料:在導(dǎo)航完成前獲取數(shù)據(jù)


查看完整回答
反對 回復(fù) 2019-03-29
?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

渲染之前的話,created,beforeCreate就開始調(diào)接口,然后頁面剛進(jìn)來就弄為空,有返回之后再顯示相應(yīng)的部分。這樣渲染和請求是異步的,等到請求回來之后再把頁面放出來(v-if)。


查看完整回答
反對 回復(fù) 2019-03-29
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

ajax是異步操作,vue不能保證在渲染之前拿到數(shù)據(jù),vue能做的是初始化頁面隱藏(visibility:hidden),拿到數(shù)據(jù)再顯示。


查看完整回答
反對 回復(fù) 2019-03-29
?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

樓上正解,由于異步操作的存在,vue是不能保證在頁面渲染之前就拿到數(shù)據(jù)的,所以一般的做法是,隱藏頁面,在created或者beforeCreate的時(shí)候調(diào)用接口獲取數(shù)據(jù),在成功拿到數(shù)據(jù)之后的回調(diào)函數(shù)里面,控制頁面顯示,這樣可以最大程度上避免頁面跳動(dòng)的問題


查看完整回答
反對 回復(fù) 2019-03-29
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

這種問題的解決思路不是應(yīng)該加一個(gè)loading嗎。。。在異步獲取數(shù)據(jù)的時(shí)候加上一個(gè)loading表示現(xiàn)在在獲取數(shù)據(jù),然后再獲取數(shù)據(jù)之后再進(jìn)行重新的渲染


查看完整回答
反對 回復(fù) 2019-03-29
?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

這種應(yīng)該用路由的鉤子


beforeRouterEnter(to,from,next) {

    doAjax.then(res => {

        // 獲取數(shù)據(jù)

        next(vm => {

            // 對數(shù)據(jù)進(jìn)行操作

        })

    })

}


查看完整回答
反對 回復(fù) 2019-03-29
  • 7 回答
  • 0 關(guān)注
  • 6590 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號