vue踩坑記錄:屬性報undefined錯誤問題
vue屬性報undefined錯誤
在一個組件里,通過props傳值進去對象,在控制臺打印報錯誤信息,提示某屬性不存在。
例如:
<div>{{data.param.aaa}}</div>類似這種的,取對象子級下面的值,就報了undefined。
原因應(yīng)該是在初始傳值,最多默認(rèn) data={}。
我嘗試在props里設(shè)置好默認(rèn)值,但是依然報錯
這么設(shè)置的props:
props:{
? ? data:Object,
? ? default:function(){
? ? ? ?return {
? ? ? ? ? ? ?param:''
? ? ? ? }
? ? }
}這么設(shè)置,依然報錯。 這個報錯,應(yīng)該是在父組件初始化了 data={}導(dǎo)致的。
最終解決方法
<div v-if="data.param">{{data.param.aaa}}</div>加一個if判斷,就可以了。
vue之各種報錯問題
1 、undefined is not iterable!或者null is not iterable!"

null和undefine是不可以拿來循環(huán)的,拿來循環(huán)就會報上面這個錯誤,循環(huán)的時候判斷一下,不為null或者undefine的時候再拿來循環(huán)就可以了~~
2、Duplicate keys detected: ‘funs1’. This may cause an update error.

原因: key值不唯一
解決: 仔細檢查是否用了同一個數(shù)據(jù)循環(huán)且:key值相同,如果相同給第二個key隨便加一個標(biāo)記就可以,如下:
:key=“index + ‘-only’”
3、報錯內(nèi)容:Maximum call stack size exceeded

這個一般都是路由的堆棧溢出的原因
說白了就是你寫了死循環(huán)。
比如我的這個代碼哈:
/**
*ifManager 是否是管理員
*str 是否有用戶信息
*在路由跳轉(zhuǎn)之前判斷是否是管理員或者是否有用戶信息,如果沒有就跳轉(zhuǎn)到login頁面
*/
router.beforeEach((to, from, next) => {
if (ifManager || str) {
next()
} else {
next(false);
router.push('/login')
}
})
/**
*乍一看好像沒有什么問題,但是一運行就會出現(xiàn)上面的那個錯誤,為什么呢。因為當(dāng)我們跳到login頁面的時候,依舊會判斷是否是管理員或者是否有用戶信息,就陷入了一個死循環(huán)。
*
*/
解決辦法就是:判斷條件改一下就可以了
fManager || str|| to.path == '/login'
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
nuxt 實現(xiàn)在其它js文件中使用store的方式
這篇文章主要介紹了nuxt 實現(xiàn)在其它js文件中使用store的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Vue?ELement?Table技巧表格業(yè)務(wù)需求實戰(zhàn)示例
這篇文章主要介紹了Vue?ELement?Table技巧表格業(yè)務(wù)需求實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果
這篇文章主要介紹了vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

