vue2中子组件里利用slot引入另一个子组件时,这个子组件的ref怎么获取到

发布于 2022-09-06 20:05:56 字数 1238 浏览 7 评论 0

clipboard.png

clipboard.png

pop-up是一个弹出框的组件,弹出框内部有一个<slot></slot>供父组件插入模板,common-input是输入框的一个组件,当执行点击按钮弹出pop-up的方法时,this.$refs.popup可以获取到值,而this.$refs.input0位undefined。

clipboard.png

请问这个this.$refs.input0怎么获取到?

//编辑
直接console.log(this.$refs)和console.log(this.$refs.input0)的结果。

clipboard.png

在this.$refs中是存在input0的

当用一个计时器异步输出this.$refs.input0时是有结果的
clipboard.png

clipboard.png

请问这是什么原因?有没有更好的解决办法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

木落 2022-09-13 20:05:56

你把0去掉试试

别理我 2022-09-13 20:05:56

我也是看答案的,遇到的问题和你类似,那个打印出来的如果不展开第一次是没有这个属性,Console显示的未必是最真实的。

世俗缘 2022-09-13 20:05:56

this.$refs.popup.$refs.input0

不再见 2022-09-13 20:05:56

会不会是组件还没有渲染导致:

this.$nextTick(()=>{
    console.log(this.$refs.input0)
 })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文