So packen Sie ein vue-Plugin

Erstellen Sie zuerst eine index.js-Datei im Toastordner, erstellen Sie ein Objekt in der js-Datei und exportieren Sie es

// index.js
konstanter Toast = {}
Standard-Toast exportieren

Importieren Sie diese Datei in main.js und verwenden Sie sie

// main.js
Toast aus ‚toast/index.js‘ importieren
Vue.use(Toast)

Wir wissen, dass die Verwendung darin besteht, die Installationsmethode des Objekts aufzurufen, also müssen wir die Installationsmethode in index.js schreiben

// index.js
konstanter Toast = {}
toast.install = funktion() {
    // console.log() Hier können Sie selbst eine Ausgabe machen, um zu sehen, ob sie aufgerufen wird
}
Standard-Toast exportieren

Nachdem Sie die Ausgabe durchgeführt haben, sollten Sie wissen, dass diese Methode tatsächlich aufgerufen wird. Zu diesem Zeitpunkt können wir einige Dinge in dieser Installationsmethode tun:

Holen Sie sich die Toastkomponente

Fügen Sie der Seite Komponenten hinzu

Geben Sie der vue-Instanz die Anzeigemethode der Komponente

Erklären Sie die Idee hier

Sie müssen die Komponente zuerst erhalten, bevor Sie die Komponente bedienen können.

Zweitens, finden Sie einen Weg, die Komponente der Seite hinzuzufügen, sodass sie nicht in anderen Komponenten eingeführt werden muss und eine Codezeile das kleine Kästchen auf der Seite anzeigen kann.

Als Nächstes müssen wir die Anzeigemethode der Komponente dem Prototypattribut der vue-Instanz übergeben, damit wir dies direkt tun können. $toast.show()

Um den Code für die Installation zu schreiben

toast.install = Funktion (Vue) {
    console.log('verwendet')
    // 1. Erstellen Sie einen Komponentenkonstruktor
    const toastConstructor = Vue.extend(Toast)
    // 2. Erstellen Sie eine Komponente mit dem Komponentenkonstruktor
     const toast = new toastConstructor()
    // 3. Montieren Sie die Komponente manuell auf einem Element
    toast.$mount(document.createElement('div'))
    // 4. Fügen Sie den Knoten in die Seite ein, $el ist der Knoten der Komponente
    document.body.appendChild(toast.$el)
    // 5. Fügen Sie die Komponente der vue-Instanz hinzu
    Vue.prototype.$toast = Toast
}

Um den Code hier zu erklären:

Die install-Methode übergibt automatisch einen Parameter, der ein Objekt von Vue ist

Es ist für uns nicht möglich, Toast direkt in die Seite einzufügen, da die Komponente ein virtueller Dom und kein Knotenknoten ist

Wir müssen also über die Komponente einen echten Dom erstellen und ihn dann in die Seite einbinden

Die Schritte lauten: Verwenden Sie extend zum Erstellen eines Komponentenkonstruktors, verwenden Sie den Komponentenkonstruktor zum Instanziieren eines Komponentenobjekts, stellen Sie das Komponentenobjekt manuell an ein Element und fügen Sie es dann in die Seite ein

Geben Sie diese Komponenteninstanz schließlich an Vue.prototype.$toast weiter, und wir können this.$toast an anderer Stelle verwenden

Acho que você gosta

Origin blog.csdn.net/asfasfaf122/article/details/128787947
Recomendado
Clasificación