TypeError: Cannot read properties of undefined (reading "xxx")报错
我遇到的情况是请求的数据比较大,数据是一个json对象,层数挺多,之所以会报这个错是因为请求的数据还没到就被调用,用?.
可以避免,例子
let a = reactive({
data: {}
})
Axios.get(..).then(d => {
a.data = d
})
d类似这样:
{
n: {
m: {
i: "http://xxxx.jpg"
}
}
}
要取出i应该这样:
<img :src="a.data?.n?.m?.i" />
但是这样做的话,数据没有,把边框或者无效图片显示出来看起来挺丑的,也可以通过v-if条件渲染,避免这种情况
<div v-if="a.data?.n?.m?.i">
<img :src="a.data?.n?.m?.i" />
</div>