如何在VueJS插值中使用未定义对象属性的默认值?

jon*_*eda 6 javascript lodash vue.js

如何在VueJS插值中使用未定义对象属性的默认值?我data是一个计算变量,并且在选择一个selectedDataIdselectbox 之前首先是未定义的,因此vue发送一个"无法读取属性'grandChild'的未定义"错误.

PS:我正在使用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;
           });
       }
   }
});
Run Code Online (Sandbox Code Playgroud)

str*_*str 11

您可以使用以下模式:

{{ selectedData.child && selectedData.child.grandChild || 'default value' }}
Run Code Online (Sandbox Code Playgroud)

grandChild如果它是假的,它将安全地检查并打印"默认值".