Javascript 子组件的$ref在父组件(vuejs)中始终未定义

Javascript 子组件的$ref在父组件(vuejs)中始终未定义,javascript,vue.js,ref,Javascript,Vue.js,Ref,由于某些原因,当试图获取子组件的ref时,我得到了未定义的定义,即使只是在以后请求它,然后是装载和创建的生命周期事件。 下面是子组件: 时令 {{s.key}} 开始月份 {{m.key}} 起始年 {{y.key}} 月末 {{m.key}} 年底 {{y.key}} 从'@/shared/lib/enums'导入{eMonth,eYear,eSeason}; 导出默认值{ 名称:'SemesterForm', 道具:['schoolID','sData','sessionSchool']

由于某些原因,当试图获取子组件的ref时,我得到了未定义的定义,即使只是在以后请求它,然后是装载和创建的生命周期事件。 下面是子组件:


时令
{{s.key}}
开始月份
{{m.key}}
起始年
{{y.key}}
月末
{{m.key}}
年底
{{y.key}}
从'@/shared/lib/enums'导入{eMonth,eYear,eSeason};
导出默认值{
名称:'SemesterForm',
道具:['schoolID','sData','sessionSchool'],
数据(){
var cYear=(新日期()).getFullYear();
返回{
学期:{
季节:'春天',
StartDate:null,
EndDate:null,
SchoolID:null,
互动:[]
},
开始月份:0,
StartYear:cYear,
月底:5,
年终:cYear
};
},
挂载(){
this.sement.SchoolID=this.SchoolID | | this.sessionSchool;
this.sement.StartDate=this.calculateDate(this.StartYear,this.StartMonth);
this.sement.EndDate=this.calculateDate(this.EndYear,this.EndMonth);
如果(本标准数据){
Object.assign(this.学期,this.sData);
this.StartMonth=this.sData.StartMonth;
this.StartYear=this.sData.StartYear;
this.EndMonth=this.sData.EndMonth;
this.EndYear=this.sData.EndYear;
}
},
计算:{
季节(){
返回eSeason.enums;
},
月份(){
返回eMonth.enums;
},
年(){
返回eYear.enums;
}
},
方法:{
calculateStartDate(年或月,值){
风险值日期;
如果(年或月=='Year'){
日期=此.calculateDate(值,此.StartMonth);
}
否则如果(年或月=='Month'){
日期=this.calculateDate(this.StartYear,value);
}
this.sement.StartDate=日期;
},
calculateEndDate(年或月,值){
风险值日期;
如果(年或月=='Year'){
日期=此.calculateDate(值,此.EndMonth);
}
否则如果(年或月=='Month'){
日期=此.calculateDate(此.EndYear,值);
}
this.sement.EndDate=日期;
},
计算日期(年、月){
返回新日期(年、月、1);
}
}
};
.表格组{
弹性:1;
}

当您只放置这个而不放置这个时,控制台是什么。$refs,而不是该代码看起来很好如果您将
模态
包装的模板更改为div会怎么样?另外,我不确定这是否会成为一个问题,但现在有一个HTML5模态元素可能存在冲突。@Mohit Tilwani控制台日志,VueComponent,我不确定如何共享。您可以共享模态组件的代码吗?