Wie überprüfe ich, ob eine Unterkomponente in Vue gemountet ist?
P粉401527045
P粉401527045 2023-12-26 19:49:44
0
1
449

Ich möchte überprüfen, ob die untergeordnete Komponente installiert ist, und diese Informationen in die übergeordnete Komponente verschieben. Dafür verwende ich launch. Hier ist das Beispiel meiner übergeordneten Komponente:

<child @is-child-mounted="childMounted" />

export default {
  data() {
    return {
      childMounted: false,
    };
  },

  mounted() {
    if (this.childMounted) {
      //do something
    }
  },
}

In der untergeordneten Komponente habe ich „is-child-mounted“ in „true“ geändert:

mounted() {
    this.$emit('isChildMounted', true);
  },

Aber if (this.childMounted) ist immer noch falsch. Wie kann man also die übergeordnete Komponente überprüfen, wenn die untergeordnete Komponente gemountet ist?

P粉401527045
P粉401527045

Antworte allen(1)
P粉826283529

您可以在父组件的子组件上添加侦听器。它看起来像这样:

Vue3
      <Component
        @vnodeMounted="handleMounted"
      />
Vue2
      <Component
         @hook:mounted="handleMounted"
      />

您可以将钩子名称替换为您想要监听的生命周期名称!我想它应该很少使用,因为它没有出现在文档中,因此是一个内部 API,注定不能直接使用。

来源:

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage