vue踩坑記錄:屬性報undefined錯誤問題
vue屬性報undefined錯誤
在一個組件里,通過props傳值進(jìn)去對象,在控制臺打印報錯誤信息,提示某屬性不存在。
例如:
<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值不唯一
解決: 仔細(xì)檢查是否用了同一個數(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') } }) /** *乍一看好像沒有什么問題,但是一運(yùn)行就會出現(xiàn)上面的那個錯誤,為什么呢。因?yàn)楫?dāng)我們跳到login頁面的時候,依舊會判斷是否是管理員或者是否有用戶信息,就陷入了一個死循環(huán)。 * */
解決辦法就是:判斷條件改一下就可以了
fManager || str|| to.path == '/login'
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式
這篇文章主要介紹了nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Vue實(shí)現(xiàn)表格批量審核功能實(shí)例代碼
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)表格批量審核功能實(shí)例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例
這篇文章主要介紹了Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果
這篇文章主要介紹了vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10