Heim > Web-Frontend > View.js > VUE3-Erste-Schritte-Tutorial: Verwenden des Vue.js-Plug-Ins zum Kapseln der Meldungsfeldkomponente

VUE3-Erste-Schritte-Tutorial: Verwenden des Vue.js-Plug-Ins zum Kapseln der Meldungsfeldkomponente

WBOY
Freigeben: 2023-06-15 21:15:03
Original
2108 Leute haben es durchsucht

Vue.js ist derzeit eines der beliebtesten Frontend-Frameworks und wird häufig in der Webentwicklung eingesetzt. Es bietet benutzerfreundliche, effiziente und flexible Datenbindungs- und komponentenbasierte Entwicklungsmethoden, die es Entwicklern ermöglichen, schnell hochwertige Webanwendungen zu erstellen. Mit der kontinuierlichen Weiterentwicklung von Vue.js erlangte auch Vue3 zunehmende Bekanntheit und entwickelte sich zu einem der wichtigsten Front-End-Tools der neuen Ära. In diesem Artikel erfahren Sie, wie Sie das Vue.js-Plug-In verwenden, um die Nachrichtenbox-Komponente zu kapseln.

Vue.js und Plugins

Vue.js bietet ein Konzept namens Plugins, die als Komponenten mit Installations- und Deinstallationsfunktionen betrachtet werden können. Plug-Ins können verwendet werden, um globale Funktionen hinzuzufügen oder die Funktionalität von Vue-Instanzen zu erweitern. Zum Beispiel: Vuex, Vue Router und Vue-i18n sind ebenfalls Plug-Ins von Vue.js.

Der Aufbau des Vue.js-Plugins ist sehr einfach und besteht aus einer Installationsfunktion. Die Installationsfunktion muss den Vue-Konstruktor und ein optionales Optionsobjekt empfangen. Um das Plug-in zu installieren, müssen Sie das Optionsobjekt an den Vue-Konstruktor übergeben.

Verwenden Sie das Vue.js-Plug-in, um die Nachrichtenbox-Komponente zu kapseln

Die Nachrichtenbox ist eine allgemeine UI-Komponente, die zum Anzeigen wichtiger Informationen auf der Seite verwendet wird. Wir werden nun das Vue.js-Plugin verwenden, um eine einfache Nachrichtenbox-Komponente zu kapseln.

In Vue.js haben Komponenten ihren eigenen Lebenszyklus und können in Phasen wie Erstellung, Aktualisierung, Zerstörung usw. angemessen gehandhabt werden. Daher sollten wir beim Schreiben von Plug-Ins die von Vue.js bereitgestellten Lebenszyklusfunktionen so weit wie möglich nutzen. Unten finden Sie den Vue-Komponentencode der Nachrichtenbox-Komponente, die wir verwenden möchten:

<template>
    <div v-show="visible" class="message-box">
        <div>{{ message }}</div>
        <button @click="close">Close</button>
    </div>
</template>

<script>
export default {
  data() {
    return {
      visible: false,
      message: '',
    };
  },
  methods: {
    show(message) {
      this.message = message;
      this.visible = true;
    },
    close() {
      this.visible = false;
    },
  },
};
</script>

<style lang="scss">
.message-box {
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .15);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
</style>
Nach dem Login kopieren

Diese Komponente besteht aus einer Vorlagenvorlage und einem Skriptcodeblock. Die Vorlage dient zur Darstellung der HTML-Struktur und nutzt den Datenbindungsmechanismus von Vue.js zum Rendern der Daten. Der Skriptcodeblock enthält die Logik zum Festlegen lokaler Daten und Methoden der Komponente.

Jetzt können wir diese Komponente in ein Vue.js-Plugin kapseln und es mithilfe der Vue.use()-Methode in der Anwendung installieren. Unten finden Sie den Vue.js-Plugin-Code für die Nachrichtenbox-Komponente:

const messageBox = {
  install(Vue) {
    Vue.component('message-box', {
      template:
        '<div v-show="visible" class="message-box">' +
        '<div>{{ message }}</div>' +
        '<button @click="close">Close</button>' +
        '</div>',
      data() {
        return {
          visible: false,
          message: '',
        };
      },
      methods: {
        show(message) {
          this.message = message;
          this.visible = true;
        },
        close() {
          this.visible = false;
        },
      },
    });
    Vue.prototype.$message = function (message) {
      const Comp = Vue.extend({
        render(h) {
          return h('message-box', { props: { message } });
        },
      });
      const vm = new Comp().$mount();
      document.body.appendChild(vm.$el);
      vm.$on('close', () => {
        document.body.removeChild(vm.$el);
        vm.$destroy();
      });
    };
  },
};

export default messageBox;
Nach dem Login kopieren

Wenn Sie auf die „Schaltfläche“ der Anwendung klicken, können Sie die Methode Vue.prototype.$message() verwenden, um die Nachrichtenbox-Komponente zu verwenden. Diese Methode zeigt das Meldungsfeld an, indem sie eine Komponenteninstanz erstellt, die den Vue.js-Konstruktor erweitert. Anschließend verwenden wir die Methode $mount() der Lebenszyklus-Hook-Funktion von Vue.js, um die Komponente in das Tag einzuhängen. Zu diesem Zeitpunkt wird das Meldungsfeld auf der Seite angezeigt.

Zusammenfassung

In diesem Tutorial haben wir das Vue.js-Plug-in verwendet, um eine einfache Nachrichtenbox-Komponente zu kapseln. Vue.js-Plugins sind sehr leistungsstark und können zum Hinzufügen globaler Funktionen oder zum Erweitern von Vue-Instanzfunktionen verwendet werden. In Kombination mit dem Lebenszykluskonzept von Vue.js-Komponenten können wir problemlos weitere UI-Komponenten kapseln. Ich hoffe, dieses Tutorial kann Ihnen helfen, die Plug-In- und Komponentisierungsideen von Vue.js besser zu verstehen.

Das obige ist der detaillierte Inhalt vonVUE3-Erste-Schritte-Tutorial: Verwenden des Vue.js-Plug-Ins zum Kapseln der Meldungsfeldkomponente. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage