在一个组件里,通过props传值进去对象,在控制台打印报错误信息,提示某属性不存在。

例如:

<div>{{data.param.aaa}}</div>

类似这种的,取对象子级下面的值,就报了undefined。

原因应该是在初始传值,最多默认 data={}。

我尝试在props里设置好默认值,但是依然报错

这么设置的props:

props:{
    data:Object,
    default:function(){
       return {
             param:''
        }
    }
}

这么设置,依然报错。 这个报错,应该是在父组件初始化了 data={}导致的。

最终解决方法:

<div v-if="data.param">{{data.param.aaa}}</div>

加一个if判断,就可以了。

Logo

前往低代码交流专区

更多推荐