Heim  >  Fragen und Antworten  >  Hauptteil

Wie überprüfe ich, ob eine Unterkomponente in Vue gemountet ist?

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粉401527045P粉401527045298 Tage vor406

Antworte allen(1)Ich werde antworten

  • P粉826283529

    P粉8262835292023-12-27 12:33:19

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

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

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

    来源:

    Antwort
    0
  • StornierenAntwort