【发布时间】:2017-04-02 23:47:50
【问题描述】:
如何在 VueJS 插值中为未定义的对象属性使用默认值?我的data 是一个计算变量,在选择框中选择selectedDataId 之前首先是未定义的,因此 vue 发送 "cannot read property 'grandChild' of undefined" 错误。
P.S.:我正在使用 lodash
<div>
{{ selectedData.child.grandChild }}
</div>
new Vue({
data: {
selectedDataId: null,
selectedData: {},
data: [ //array of objects here ]
},
computed: {
selectedData() {
return _.find(this.data, (d) => {
return d.id == this.selectedDataId;
});
}
}
});
【问题讨论】:
-
我不熟悉 Vue.js,但在普通 JS 中,您可以检查属性是否定义为:
{{ selectedData.child && selectedData.child.grandChild }}
标签: javascript vue.js lodash