鍍金池/ 問答/HTML5  HTML/ vue中如何讓<img>在ajax獲取到數(shù)據(jù)(內(nèi)含src)之后再渲染

vue中如何讓<img>在ajax獲取到數(shù)據(jù)(內(nèi)含src)之后再渲染

圖是可以顯示出來的,由于ajax異步一開始:src綁定的值還不存在,所以會報

Cannot read property 'avatar' of null"

ajax回來之后圖就可以出來了

這種應(yīng)該怎么辦呢

回答
編輯回答
瘋浪

你先把放圖片的位置留白或者放默認(rèn)圖(通俗點(diǎn)就是,寫一個div定高定寬,圖片放在div里面,一開始不顯示圖片)

然后在data中定義一個控制圖片顯示的變量flag,初始值為false

ajax得到值之后就把剛剛定義的變量的值改為true

最后在img上用v-show='flag'來控制顯示

如果是大圖影響會影響到界面的,建議還是直接給整個界面一個loading,獲取到值之后再顯示界面。

小圖用上面的方法就好了

2018年3月18日 12:33
編輯回答
舊顏

判斷唄 :src="item && item.avatar"

2018年2月1日 20:07