在我的Vue驱动的HTML中,我有一行
<span>Last updated on {{incident.LastUpdate[0].date}}</span>
data
实例中的 Vue
定义为
data: {
incident: {}
}
在执行过程中,incident
被异步加载但在初始页面加载期间我看到了
[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined"
(...)
TypeError: Cannot read property '0' of undefined
这是可以理解的,因为incident
内容尚不可用。当它们可用时,页面会正确显示。因此,错误是预测和暂时的,所以我可以忘记它。
但我希望将其静音并使用一些虚拟数据初始化incident
data: {
incident: {
LastUpdate: [
{
date: null
}
]
},
},
错误现在消失了,但我觉得这是解决它的尴尬方式。如果有更多数据要初始化,它也会变得很麻烦。
我的问题:在Vue中处理此问题的正确方法是什么?我修复中的虚拟数据?
答案 0 :(得分:6)
见代码:
<template>
<div>
Last updated on {{lastUpdatedTime}}
</div>
</template>
<script>
export default {
data(){
return {
incident: {
lastUpdate:[]
}
}
},
computed: {
lastUpdatedTime () {
if (this.incident.LastUpdate.length === 0) return '' // think about a default please :)
return this.incident.LastUpdate[0].date
}
}
}
</script>