我想检查子组件是否已安装,并且我想将该信息移动到父组件。为此,我正在使用发射。 因此,这里的示例是我的父组件:
<child @is-child-mounted="childMounted" /> export default { data() { return { childMounted: false, }; }, mounted() { if (this.childMounted) { //do something } }, }
在子组件中,我将“is-child-mounted”更改为 true:
mounted() { this.$emit('isChildMounted', true); },
但是if (this.childMounted)仍然为假。那么如果子组件已挂载,如何检查父组件呢?
P粉8262835292023-12-27 12:33:19
您可以在父组件的子组件上添加侦听器。它看起来像这样:
Vue3 <Component @vnodeMounted="handleMounted" />
Vue2 <Component @hook:mounted="handleMounted" />
您可以将钩子名称替换为您想要监听的生命周期名称!我想它应该很少使用,因为它没有出现在文档中,因此是一个内部 API,注定不能直接使用。
来源: