前两天在父组件中将调用子组件的方法写到了created中,发现子组件没有接收到父组件传的参数。再看浏览器有报错
[Vue warn]: Error in created hook: "TypeError: Cannot read properties of undefined (reading '子组件方法名')"
//父组件
<template>
<div>
<ChildForm ref="child" />
</div>
</template>
<script>
import ChildForm from '@/components/childForm'
export default{
components:{
ChildForm
},
created() {
// 调用子页面方法,并传参数
this.$refs.child.getParentMsg('666')
}
}
</scritp>
//子组件
<template>
<div>{{parentMsg}}</div>
</template>
<script>
export default{
data(){
return {
parentMsg: '',
}
},
methods:{
getParentMsg(msg){
this.parentMsg = msg;
},
}
}
</script>
解决办法,在父组件的created中加个延时调用
setTimeout(() => {
this.$refs.child.getParentMsg('666');
}, 500);