鍍金池/ 問答/HTML/ vue中由于請求延遲導(dǎo)致的報錯問題?

vue中由于請求延遲導(dǎo)致的報錯問題?

在vue-cli項目中,我先是在data中定義了一個空的值,然后在created中請求數(shù)據(jù),賦值給那個空值。
在頁面中我是直接引用這個值(為數(shù)組,每一組都有對應(yīng)的img,name等)來賦值的。
結(jié)果是渲染對了,但是控制臺有報錯,我覺得應(yīng)該是初始化的時候,渲染的是個空值,所以報錯,等數(shù)據(jù)請求成功后,再渲染成功的。
雖然目前來說功能正常,但是我不想項目中出現(xiàn)這樣的報錯,該怎么解決?。?/p>

回答
編輯回答
孤島

一開始就定義賦值一個空數(shù)組就好了

2018年7月15日 14:17
編輯回答
純妹

不是應(yīng)該貼上代碼嘛和錯誤嗎,文字描述無法完整還原事件

2017年9月10日 00:56
編輯回答
傻叼

你開始一開始這么寫的吧,所以空數(shù)組里面的都拿不到

dataArr:''

解決方法的是初始化的時候就把它的每一個元素都賦值為空。

dataArr:[{
    'name':'',
    'img':''
}]
2018年9月10日 07:24
編輯回答
獨白

你要注意區(qū)分報的什么錯。
這種情況的:

dataList: [{name:'test'}]

dataList為空不會報錯

這種情況會報錯:

dataList: [{img: {name:'test'}}]

空數(shù)組拿不到img,更加拿不到name,報錯的就是undefined沒有屬性name。這個時候你得處理下,數(shù)組給個默認(rèn)的值,或者img.name額外處理,用過濾器之類都行

2017年7月1日 14:19
編輯回答
詆毀你

找到方法了,給元素判斷一下,v-if數(shù)組值是否不等于空,只有當(dāng)請求到值的時候,才顯示,就OK了

2018年8月14日 19:01