解決vue.js 數(shù)據(jù)渲染成功仍報(bào)錯的問題
最近在做一個vue項(xiàng)目,用的是官方推薦的axios請求數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)是一級對象嵌套二級對象,發(fā)現(xiàn)一級對象數(shù)據(jù)渲染不報(bào)錯,二級數(shù)據(jù)渲染報(bào)錯。很是郁悶!data函數(shù)如下
export default {
name: 'hello',
data() {
return {
card:{}
}
}
}
返回的數(shù)據(jù)如下:
{
"object":{
"subObject":"123",
...
}
}
報(bào)錯的原因是在data函數(shù)return的card里沒有二級對象.所以會報(bào)錯;
解決辦法是:
export default {
name: 'detail',
data() {
return {
loading: false,
card:{},
}
},
created() {
this.fetchData();
},
methods: {
fetchData() {
this.loading = true;
let that=this;
this.ajax.get(url, { params: { id: "yourId" } })
.then(function (response) {
that.loading = false;
}, function (error) {
console.log(error);
})
}
}
然后在html中加上下面這句:
<template> <div v-if="!loading"> <!----你的html代碼------> </div> </template>
然后就不會報(bào)錯了!希望對你有幫助!~溜了~~~
拓展知識:解決Vue組件頁面渲染正常對象報(bào)錯undefined的問題
首先,頁面代碼:{{options.fileList[0].fullPath}},
渲染結(jié)果:
(渲染成功),
但是控制臺依然報(bào)錯:
如果有跟我遇到同樣問題的朋友一定跟我一樣,心里一萬只草泥馬飄過,都顯示正常了,你TM的還給我報(bào)錯,這我就忍不了了,首先我在頁面節(jié)點(diǎn)上直接打印,OK,沒有問題,能完美的打印出來,然后換了個思路,在mounted里面看看什么情況呢,功夫不負(fù)有心人,
,mounted里面打印出來是個空的數(shù)組,那么我應(yīng)該就知道什么問題了,應(yīng)該是頁面加載的時候,數(shù)據(jù)還沒有傳過來,但是這時候我們已經(jīng)開始在使用了,所以會報(bào)undefined的錯誤,當(dāng)數(shù)據(jù)的值傳過來的時候,頁面找到這個數(shù)據(jù),并渲染上去,所以我看到的頁面又是正常了,所以這樣的問題應(yīng)該怎么解決呢?
答案也很簡單,在你渲染的節(jié)點(diǎn)加個判斷就好了,
,這樣的話當(dāng)發(fā)現(xiàn)它為undefined的時候就不會去讀取數(shù)據(jù),等有數(shù)據(jù)的時候再去讀取,這樣的話,就不會出現(xiàn)undefined的錯誤了。
以上這篇解決vue.js 數(shù)據(jù)渲染成功仍報(bào)錯的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)的多頁面項(xiàng)目如何優(yōu)化打包的步驟詳解
這篇文章主要介紹了vue實(shí)現(xiàn)的多頁面項(xiàng)目如何優(yōu)化打包的步驟詳解,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
vue 使用 sortable 實(shí)現(xiàn) el-table 拖拽排序功能
這篇文章主要介紹了vue 使用 sortable 實(shí)現(xiàn) el-table 拖拽排序功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
vue復(fù)合組件實(shí)現(xiàn)注冊表單功能
這篇文章主要為大家詳細(xì)介紹了vue復(fù)合組件實(shí)現(xiàn)注冊表單功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
vue報(bào)錯Failed to execute 'appendChild&apos
這篇文章主要為大家介紹了vue報(bào)錯Failed to execute 'appendChild' on 'Node'解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
vue+elementui實(shí)現(xiàn)下拉表格多選和搜索功能
這篇文章主要為大家詳細(xì)介紹了vue+elementui實(shí)現(xiàn)下拉表格多選和搜索功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
vue-cli和v-charts實(shí)現(xiàn)可視化圖表過程解析
這篇文章主要介紹了vue-cli和v-charts實(shí)現(xiàn)可視化圖表過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10

