为什么使用this.$refs.XXX获取不到子元素?

大群
  • 65

题目描述

使用this.$refs.XXX获取不到子元素

在父组件的created,mounted两个生命周期都试过了,都拿不到数据,打印的值都是undifined。但是写一个按钮绑定一个点击事件,事件里面打印this.$refs.XXX就可以获取到值,各位有遇到过这种问题的吗?

回复
阅读 1.9k
2 个回答

这个问题用vue的都用到过,就是这段代码比子组件dom渲染的快,大部分情况会避开这种一上来就加载$refs.xx,加个延迟,或者回调,子组件mounted中emit一下,告诉父组件我加载完了,然后再执行$refs.xx。又或者先判断$refs.xx存不存在,不存在100毫秒后再执行一次。

image.png
如果要在mounted中使用的话可以试试

this.$nextTick(()=>{
this.$refs[xxx].xxx

})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏