遇到問題:
[Vue warn]: Error in render: "TypeError: Cannot read property ' xxx ' of undefined"
能夠正常渲染出界面,但控制臺仍然報出“Error in render: "TypeError: Cannot read property ‘0’ of undefined”錯誤
原因:
vuex中state管理加載的數(shù)據(jù),異步調(diào)用顯示,然后vue渲染機(jī)制
異步數(shù)據(jù)先顯示初始數(shù)據(jù),再顯示帶數(shù)據(jù)的數(shù)據(jù),所以上來加載時候還是一個空對象,當(dāng)渲染完成后,才加載異步數(shù)據(jù)
所以在渲染時,出現(xiàn)的三層表達(dá)式中取數(shù)組中的小標(biāo)為0的對象還不存在,再在這個對象中取其他值自然會報錯。
但是渲染完成后,數(shù)組中的值加載好了,自然可以取到,這也就解釋了為什么界面正常顯示,但開發(fā)者工具會報錯的原因。
原因參考此篇 blog
解決:
在div中添加 v-if
判斷條件,如果數(shù)據(jù)取不到,則不加載該div即可解決文章來源:http://www.zghlxwxcb.cn/news/detail-679912.html
注意:這里的判斷不能用 v-show,因?yàn)?v-show 機(jī)制是加載后判斷文章來源地址http://www.zghlxwxcb.cn/news/detail-679912.html
到了這里,關(guān)于[Vue warn]: Error in render: “TypeError: Cannot read property ‘ xxx ‘ of undefined“報錯原因和解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!