Vue组件中父子嵌套的组件生命周期问题

发布于 2022-09-05 22:52:27 字数 416 浏览 16 评论 0

在我使用vue开发组件时、有个组件嵌套的案例:

<div v-show="isShow">
    <child-component ref="child"></child-component>
</div>

这中情况下、当我在watch中监听isShow为true时、我要操作child子组件、或者在updated钩子中操作子组件:

this.$refs.child.子组件的方法

有时候会报错

this.$refs.child is undefined

也就是说、这个时候子组件没有渲染完成

不知道是不是控制流程有问题、还是说、子组件的生命周期和父组件不同步?

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

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

发布评论

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

评论(2

山有枢 2022-09-12 22:52:27
Vue.nextTick(function () {
    //试试这个
})
甜是你 2022-09-12 22:52:27

v-show的原理是通CSS中的display属性来设置,其值变化对象的是CSS属性的变化,组件自身并没有销毁,也就是说通过this.$refs是能够看到子组件的,因为子组件并没有销毁和重建,按理说在updated()watch中是可以看到子组件的,您可以在检查一下是不是别的原因。

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