Ein Artikel, der Ihnen zeigt, wie Sie Vue-Komponenten erstellen und verwenden

Ein Artikel, der Ihnen zeigt, wie Sie Vue-Komponenten erstellen und verwenden

1. Was ist eine Komponente?

Komponenten sind eine der leistungsstärksten Funktionen von Vue.js. Komponenten erweitern HTML-Elemente, um wiederverwendbaren Code zu kapseln. Auf einer hohen Ebene sind Komponenten benutzerdefinierte Elemente, denen der Vue.js-Compiler spezielle Funktionen hinzufügt.

2. Globale Komponenten erstellen

Methode 1

1. Vue.erweitern

       var com1 = Vue.extend({
// Die Vorlageneigenschaft gibt die HTML-Struktur an, die die Komponente anzeigen soll. Vorlage: „<h3>Dies ist eine mit Vue.extend erstellte Komponente</h3>“
            })

2. Vue.Komponente

Vue.component('Komponentenname', erstelltes Komponentenvorlagenobjekt) registriert die Komponente

  Vue.component('myCom1', com1)

Hinweis : Wenn Sie Vue.Component verwenden, um eine globale Komponente zu registrieren, und der Komponentenname in Camel Case vorliegt, müssen Sie beim Verweisen auf die Komponente die Großbuchstaben in Camel Case in Kleinbuchstaben ändern. Verwenden Sie gleichzeitig eine „–“-Verknüpfung zwischen zwei Wörtern. Wenn nicht verwendet, verwenden Sie einfach den Namen direkt.

Bildbeschreibung hier einfügen

Methode 2

Vue.component direkt verwenden

            Vue.component('mycom2', {
                Vorlage: '<div><h3>Dies ist eine Komponente, die direkt mit Vue.component erstellt wurde</h3>
<span>123</span></div>'
            })

Beispiel:

Bildbeschreibung hier einfügen

Methode 3

1. Verwenden Sie außerhalb der gesteuerten #app das Vorlagenelement, um die HTML-Vorlagenstruktur der Komponente zu definieren.

<Vorlagen-ID="tmpl">
            <div>
                <h1>Dies ist eine Komponentenstruktur, die extern durch das Vorlagenelement definiert wird</h1>
                <h4>Einfach zu bedienen, gut!</h4>
            </div>
        </Vorlage>

2. Komponenten mit ID registrieren

   Vue.component('mycom3', {
        Vorlage: „#tmpl“
    })

3. Lokale Komponenten erstellen

Lokale Komponenten werden auf die gleiche Weise erstellt wie globale Komponenten. Der einzige Unterschied besteht darin, dass Teilkomponenten innerhalb einer Vue-Instanz definiert werden.

Bildbeschreibung hier einfügen

4. Daten und Methoden in Komponenten

1. Komponenten können eigene Daten haben.

2. Die Daten in der Komponente unterscheiden sich geringfügig von den Daten in der Instanz. Die Daten in der Instanz können ein Objekt sein. Aber die Daten in der Komponente müssen eine Methode sein.

3. Die Daten in der Komponente müssen nicht nur eine Methode sein, sondern auch ein Objekt zurückgeben.

4. Die Daten in der Komponente werden auf die gleiche Weise verwendet wie die Daten in der Instanz. (Dasselbe gilt für Methoden)

Bildbeschreibung hier einfügen

5. Kommunikation zwischen Komponenten

Bildbeschreibung hier einfügen

Requisiten/$emit

Die übergeordnete Komponente A übergibt Eigenschaften an die untergeordnete Komponente B, und die Übertragung von B nach A wird in Komponente B durch $emit und in Komponente A durch v-on implementiert.

Unterkomponenten:

<Vorlage>
  <div Klasse="hallo">
    <ul>
      <li v-for="(Benutzer,index) in Benutzer" v-bind:key="index">{{ Benutzer }}</li>
    </ul>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Name: "Benutzer",
  Requisiten: {
    Benutzer: { //Angepasster Name der untergeordneten Tags im übergeordneten Komponententyp: Array,
      erfordern: wahr
    }
  }
}
</Skript>

<Stilbereich>
 li{
   Listenstil-Position: innen;
 }
</Stil>

Übergeordnete Komponente:

<Vorlage>
  <div id="app">
    <img alt="Vue-Logo" src="./assets/logo.png">
    <Benutzer v-bind:users="Benutzer"> </Benutzer>
  </div>
</Vorlage>

<Skript>
Benutzer aus „@/components/users“ importieren;
Standard exportieren {
  Name: "App",
  Daten(){
    zurückkehren {
      Benutzer: ['Xi'an Post und Telekommunikation', 'Xi'an Petroleum', 'Politikwissenschaft und Recht des Nordwestens', 'Xi'an Industrie', 'Xi'an Finanzen']
    }
  },
  Komponenten:
    Benutzer,
  }
}
</Skript>

Nach Veranstaltungsformular

Unterkomponenten :

<Vorlage>
  <Kopfzeile>
    <h1 @click="changeTitle">{{ Titel }}</h1>
  </header>
</Vorlage>
<Skript>
Standard exportieren {
  Name: "Sohn",
  Daten(){
    zurückkehren {
      Titel: „Vue.js-Demo“
    }
  },
  Methoden: {
    Titel ändern(){
      this.$emit('titleChanged','Universität für Post und Telekommunikation Xi'an');
    }
  }
}
</Skript>

<Stilbereich>
 h1{
   Hintergrundfarbe: grüngelb;
 }
</Stil>

Übergeordnete Komponente:

<Vorlage>
  <div id="app">
    <Son v-on:titleChanged="updateTitle"></Son>
    <h2>{{ Titel }}</h2>
  </div>
</Vorlage>
<Skript>
importiere Son aus "@/components/Son";
Standard exportieren {
  Name: "Vater",
  Daten(){
    zurückkehren {
      Titel: „Was übergeben wird, ist ein Wert“
    }
  },
  Methoden: {
    updateTitel(e){
      dieser.Titel = e
    }
  },
  Komponenten: {
    Sohn,
  }
}
</Skript>

Zusammenfassen

Die untergeordnete Komponente sendet über Ereignisse Nachrichten an die übergeordnete Komponente, was eigentlich bedeutet, dass die untergeordnete Komponente ihre eigenen Daten an die übergeordnete Komponente sendet.

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

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zum dynamischen Erstellen von Komponenten in Vue
  • Zusammenfassung der drei Möglichkeiten zum Erstellen von Vue-Komponenten
  • Detaillierte Erklärung zum Erstellen und Veröffentlichen einer Vue-Komponente
  • So erstellen und übergeben Sie Werte in Vue-Komponenten
  • Detaillierte Erläuterung der Verwendung der neuen integrierten Komponenten von Vue

<<:  11 Gründe, warum Bootstrap so beliebt ist

>>:  HTML 5.1 lernen: 14 neue Features und Anwendungsbeispiele

Artikel empfehlen

CSS3-Beispielcode zum Erreichen einer Elementbogenbewegung

So verwenden Sie CSS, um die Bogenbewegung von El...

Detailliertes Beispiel für die Verkettung mehrerer Felder in MySQL

Das Zusammenführen von Zeilen- und Feldergebnisse...

vue + springboot realisiert den Login-Bestätigungscode

In diesem Artikelbeispiel wird der spezifische Co...

jQuery realisiert den Gleiteffekt des Dropdown-Menüs

Wenn wir eine Webseite erstellen, möchten wir man...

Zusammenfassung der Tipps zur CSS-Verwendung

Vor Kurzem habe ich mit der Aktualisierung meines ...

Einige grundlegende Anweisungen für Docker

Inhaltsverzeichnis Einige grundlegende Anweisunge...

Einführung in HTML für Frontend-Entwickler

1 Einführung in HTML 1.1 Erste Erfahrungen mit Co...

CSS zum Erzielen des Skeleton Screen-Effekts

Beim Laden von Netzwerkdaten wird zur Verbesserun...

Konstruktions- und Nutzungsprozess des Vue3.0-Projekts

Inhaltsverzeichnis 1. Projektkonstruktion 2: Verz...

Lösung für den Fehler beim Importieren von MySQL Big Data in Navicat

Die von Navicat exportierten Daten können nicht i...

Basiswissen: Was bedeutet http vor einer Website-Adresse?

Was ist HTTP? Wenn wir eine Website durchsuchen m...

Prinzipien und Beispiele für Lambda-Ausdrücke

Lambda-Ausdrücke Lambda-Ausdrücke, auch Closures ...

Eine kurze Erläuterung der Schriftarteinstellungen in Webseiten

Das Festlegen der Schriftart für die gesamte Site...