父组件使用this.$refs调用子组件参数或方法时,提示undefined的解决方法

报错信息:Vue warn]: Error in v-on handler: "TypeError: Cannot set property 'baseurl' of undefined"  found in

这种情况下,一般都是父组件调用子组件方法的时候,子组件还未渲染成功。要搞清楚这个问题,我们要搞清楚父子组件的生命周期就行了。

1、加载渲染过程
        父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子                      beforeMount->子mounted->父mounted
2、子组件更新过程
        父beforeUpdate->子beforeUpdate->子updated->父updated
3、父组件更新过程
        父beforeUpdate->父updated
4、销毁过程
        父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

这种情况下,我们可以在使用父组件调用子组件方法的时候,使用this.$nextTick()

​
this.$nextTick(() => {
  console.log('子组件参数值为:', this.$refs.myChild.baseurl)
})

​

详情请看原作者文章:(4条消息) vue父组件调用子组件this.$refs报错,undefined、not a function问题解决方法_银鞍照白马的博客-CSDN博客_not a functionhttps://blog.csdn.net/weixin_41698051/article/details/112670188