Javascript Can';无法获取组件中子级的$ref。获取未定义的错误

Javascript Can';无法获取组件中子级的$ref。获取未定义的错误,javascript,vue.js,Javascript,Vue.js,我使用的是Vue.js,我试图获取ref=“mybtn”和ref=“confirmpopover”的宽度,但无法获取ref=“confirmpopover”的宽度。我不明白为什么,它说的是未定义的 正在尝试获取未定义的getBoundingClientRect 导出默认值{ 模板:` `, 方法:{ openPopover(){ //结果:200 log(this.$refs.mybtn.getBoundingClientRect().width) //尝试获取未定义的getBoundingCl

我使用的是Vue.js,我试图获取ref=“mybtn”和ref=“confirmpopover”的宽度,但无法获取ref=“confirmpopover”的宽度。我不明白为什么,它说的是未定义的

正在尝试获取未定义的getBoundingClientRect

导出默认值{
模板:`
`,
方法:{
openPopover(){
//结果:200
log(this.$refs.mybtn.getBoundingClientRect().width)
//尝试获取未定义的getBoundingClientRect的结果。
log(this.$refs.confirmpopover.getBoundingClientRect().width)
}
}
来自:

如果在普通DOM元素上使用,则引用将是该元素;如果 在子组件上使用时,引用将是组件实例

因此,如果需要实际的DOM元素,则必须访问ref中的
$el

console.log( this.$refs.confirmpopover.$el.getBoundingClientRect().width )

在何处/何时调用此方法?在mybtn单击时,有一个@click=“openPopover”事件附件,它是
ml confirm popover
?请尝试通过记录
this来排除此问题。$refs
完整地看一下我对其他问题的回答(),其中也有一个使用此方法的示例。$refs。
console.log( this.$refs.confirmpopover.$el.getBoundingClientRect().width )