父组件:

<Type :imgList="imgList"/>

子组件:

<img :src="imgList[0].imgUrl"/>
mounted() {
  console.log(this.imgList); 
},

此时输出报错

原因:

出现上面的错误原因,由于vue是MVVM模式,会数据劫持,父组件传递过去的数据,子组件还没来得及接收,页面就已经渲染成功了,数据接收成功会再次渲染页面,所以页面渲染成功,依然有报错。

解决办法:

在父组件传递之前,将数据进行判断,如果为空就隐藏,有数据了再传过去,代码如下:

<Type :imgList="imgList" v-if="imgList"/>

Logo

前往低代码交流专区

更多推荐