Vue-Komponenten Dynamische Komponenten detaillierte Erklärung

Vue-Komponenten Dynamische Komponenten detaillierte Erklärung

Wenn sich das Array ändert, laden Sie die entsprechenden Daten dynamisch

Szenario : Klicken Sie auf verschiedene Komponentennamen und die Schnittstelle zeigt die entsprechenden Komponenten an

Schritt 1 : Erforderliche Komponenten importieren

Schritt 2 : Klicken Sie auf die Registerkarte und fügen Sie den entsprechenden Komponentennamen in das Array ein

Schritt 3 : Verwenden Sie dynamische Komponenten und binden Sie das Attribut :is an den Komponentennamen

<div v-for="(Element, Index) in Komponentendaten" :Schlüssel="Index">
  <Komponenten: ist = "Element.Komponentenname"/>
</div>

Beispiel : Überwachung von Eigenschaftsänderungen in einem Objekt, gründliche Überwachung

<!-- DynamicComponent.vue -->
<Vorlage>
  <Abschnitt>
    <div v-for="(Element, Index) in Komponentendaten" :Schlüssel="Index">
      <Komponenten :is='Element.Komponentenname' :params="Element.Inhalt" />
    </div>
  </Abschnitt>
</Vorlage>
<Skript>
importiere PageOne aus './pageComponents/PageOne'
importiere PageTwo aus './pageComponents/PageTwo'
importiere PageThree aus './pageComponents/PageThree'
Standard exportieren{
  Name: "DynamischeKomponente",
  Komponenten:
    Seite Eins,
    Seite Zwei,
    Seite Drei
  },
  Daten () {
    zurückkehren {
      Komponentendaten: [
        {
          Komponentenname: "SeiteEins",
          Inhalt: {
            Titel: „Titel 1“
          }
        },
        {
          Komponentenname: 'SeiteZwei',
          Inhalt: {
            Titel: „Titel 2“
          }
        }
      ]
    }
  }
}
</Skript>
<!-- SeiteEins -->
<Vorlage>
  <Abschnitt>
    {{Inhalt}}
  </Abschnitt>
</Vorlage>
<Skript>
Standard exportieren{
  Name: 'SeiteEins',
  Requisiten: {
    Parameter: {
      Typ: Objekt,
      Standard: Funktion(){
        zurückkehren {}
      }
    }
  },
  Daten () {
    zurückkehren {
      Inhalt: this.params.title
    }
  },
  betrachten:
    Parameter: {
      handler(neuerWert, alterWert){
        dieser.Inhalt = neuerWert.Titel
      },
      tief: wahr,
      sofort: wahr
    }
  }
}
</Skript>
<!-- SeiteZwei -->
<Vorlage>
  <Abschnitt>
    {{Inhalt}}
  </Abschnitt>
</Vorlage>
<Skript>
Standard exportieren{
  Name: 'SeiteZwei',
  Requisiten: {
    Parameter: {
      Typ: Objekt,
      Standard: Funktion(){
        zurückkehren {}
      }
    }
  },
  Daten () {
    zurückkehren {
      Inhalt: this.params.title
    }
  },
  betrachten:
    Parameter: {
      handler(neuerWert, alterWert){
        dieser.Inhalt = neuerWert.Titel
      },
      tief: wahr,
      sofort: wahr
    }
  }
}
</Skript>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Wenn sich das Array ändert, laden Sie die entsprechenden Daten dynamisch

Szenario : Klicken Sie auf verschiedene Komponentennamen und die Schnittstelle zeigt die entsprechenden Komponenten an

Schritt 1 : Erforderliche Komponenten importieren

Schritt 2 : Klicken Sie auf die Registerkarte und fügen Sie den entsprechenden Komponentennamen in das Array ein

Schritt 3 : Verwenden Sie dynamische Komponenten und binden Sie das Attribut :is an den Komponentennamen

<div v-for="(Element, Index) in Komponentendaten" :Schlüssel="Index">
  <Komponenten: ist = "Element.Komponentenname"/>
</div>

Beispiel : Überwachung von Eigenschaftsänderungen in einem Objekt, gründliche Überwachung

<!-- DynamicComponent.vue -->
<Vorlage>
  <Abschnitt>
    <div v-for="(Element, Index) in Komponentendaten" :Schlüssel="Index">
      <Komponenten :is='Element.Komponentenname' :params="Element.Inhalt" />
    </div>
  </Abschnitt>
</Vorlage>
<Skript>
importiere PageOne aus './pageComponents/PageOne'
importiere PageTwo aus './pageComponents/PageTwo'
importiere PageThree aus './pageComponents/PageThree'
Standard exportieren{
  Name: "DynamischeKomponente",
  Komponenten:
    Seite Eins,
    Seite Zwei,
    Seite Drei
  },
  Daten () {
    zurückkehren {
      Komponentendaten: [
        {
          Komponentenname: "SeiteEins",
          Inhalt: {
            Titel: „Titel 1“
          }
        },
        {
          Komponentenname: 'SeiteZwei',
          Inhalt: {
            Titel: „Titel 2“
          }
        }
      ]
    }
  }
}
</Skript>
<!-- SeiteEins -->
<Vorlage>
  <Abschnitt>
    {{Inhalt}}
  </Abschnitt>
</Vorlage>
<Skript>
Standard exportieren{
  Name: 'SeiteEins',
  Requisiten: {
    Parameter: {
      Typ: Objekt,
      Standard: Funktion(){
        zurückkehren {}
      }
    }
  },
  Daten () {
    zurückkehren {
      Inhalt: this.params.title
    }
  },
  betrachten:
    Parameter: {
      handler(neuerWert, alterWert){
        dieser.Inhalt = neuerWert.Titel
      },
      tief: wahr,
      sofort: wahr
    }
  }
}
</Skript>
<!-- SeiteZwei -->
<Vorlage>
  <Abschnitt>
    {{Inhalt}}
  </Abschnitt>
</Vorlage>
<Skript>
Standard exportieren{
  Name: 'SeiteZwei',
  Requisiten: {
    Parameter: {
      Typ: Objekt,
      Standard: Funktion(){
        zurückkehren {}
      }
    }
  },
  Daten () {
    zurückkehren {
      Inhalt: this.params.title
    }
  },
  betrachten:
    Parameter: {
      handler(neuerWert, alterWert){
        dieser.Inhalt = neuerWert.Titel
      },
      tief: wahr,
      sofort: wahr
    }
  }
}
</Skript>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Integrierte Vue-Komponente - dynamisches Rendern von Komponentenoperationen über das is-Attribut
  • Beschreibung der Vue.component-Eigenschaft
  • Detaillierte Erklärung der Beziehung zwischen Vue und VueComponent
  • Dynamische Vue-Komponente
  • Lösen Sie das Komponenten-Tag-Rendering-Problem von Vue

<<:  Detaillierte Erklärung der MySQL EXPLAIN-Ausgabespalten

>>:  Informationen zu Problemen bei der automatischen Bereitstellung von Jenkins + Docker + ASP.NET Core (Fallstricke vermeiden)

Artikel empfehlen

Den Linux-Kernel erkunden: Die Geheimnisse von Kconfig

Erhalten Sie ein umfassendes Verständnis der Funk...

Beispiel für die Implementierung einer virtuellen Liste im WeChat Mini-Programm

Inhaltsverzeichnis Vorwort analysieren Erste Rend...

Installation und Verwendung von MySQL unter Ubuntu (allgemeine Version)

Unabhängig von der verwendeten Ubuntu-Version ist...

Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)

1. Umweltvorbereitung 1.MySQL-Installationspfad: ...

MySQL-Datumsfunktionen und Datumskonvertierungs- und -formatierungsfunktionen

MySQL ist eine kostenlose relationale Datenbank m...

Schritte zur Überprüfung der MySQL InnoDB-Row_ID-Grenzwertüberschreitung

Hintergrund Ich habe mit meinen Klassenkameraden ...

So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

Originaldaten und Zieldaten SQL-Anweisungen imple...

Sperrt Mysql ALTER TABLE die Tabelle beim Hinzufügen von Feldern?

Inhaltsverzeichnis Vor MySQL 5.6 Nach MySQL 5.6 Z...

Ubuntu öffnet Port 22

Szenario Sie müssen das Xshell-Tool verwenden, um...

MySQL-Startfehlerproblem und Szenarioanalyse

1. Komplettlösung 1. Problemanalyse und -lokalisi...

Fallstudie zu den SQL ROW_NUMBER()- und OVER()-Methoden

Syntaxformat: row_number() über (Partition durch ...