在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue父組件異步請(qǐng)求獲取數(shù)據(jù)傳遞給子組件,子組件能獲取并渲染數(shù)據(jù)到頁面,但是會(huì)報(bào)

vue父組件異步請(qǐng)求獲取數(shù)據(jù)傳遞給子組件,子組件能獲取并渲染數(shù)據(jù)到頁面,但是會(huì)報(bào)錯(cuò)怎么解決呢?

請(qǐng)教,父組件ajax異步請(qǐng)求獲取數(shù)據(jù)

然后傳遞給子組件

子組件在頁面中渲染使用了父組件傳過來的data對(duì)象中的img屬性

子組件能獲取到數(shù)據(jù)并渲染數(shù)據(jù)到頁面,但是會(huì)報(bào)錯(cuò),怎么解決呢。
代碼:
clipboard.png

clipboard.png
報(bào)錯(cuò)如下:
clipboard.png

頁面會(huì)報(bào)錯(cuò)說找不到avatar屬性,報(bào)錯(cuò)如下,但是頁面上又能渲染出圖片,我猜想可能是頁面在渲染子組件的時(shí)候 ajax還沒有返回對(duì)象,但是子組件已經(jīng)渲染過去了所以報(bào)錯(cuò),接著ajax對(duì)象拿到數(shù)據(jù)在傳到子組件,子組件在更新所以拿到了圖片,請(qǐng)教大佬,是這樣嗎?或者說怎樣處理呢。

回答
編輯回答
苦妄
  1. 看打印順序,就是先判斷是否有 seller,沒有所以報(bào)錯(cuò)了;后獲取的 seller,所以打印出 Object 并且有顯示;
  2. 你可以自己假設(shè)一個(gè)空值:
 seller: {
    seller: {
      avatar: ''
    }
 }
2018年9月9日 08:59
編輯回答
伐木累

是你說的那樣,你可以加個(gè)默認(rèn)值

seller:{
              type:Object,
              default:function(){
                  return {
                      seller: {
                      avatar: ''
                    }
                  }
              }
        }
2017年11月8日 00:18
編輯回答
朽鹿

謝謝各位!感謝,提問之前我還怕麻煩別人,沒想到大家這么有愛,愛你們。
已經(jīng)解決了,總結(jié)一下:
這個(gè)昨晚我在提問后,又試了試
1.對(duì)父組件加了一個(gè) v-if,也就是判斷數(shù)據(jù)是否為空,為空就不渲染,也能解決了
2.如前面幾位大佬說的,加一個(gè)為空的默認(rèn)值,這樣就很好的解決了,如下

seller:{
              type:Object,
              default:function(){
                  return {
                      seller: {
                      avatar: ''
                    }
                  }
              }
        }
2018年4月12日 22:22
編輯回答
我以為

需要加default值
clipboard.png

2018年4月4日 17:09