VorwortKomponenten sind etwas, das wir sehr häufig verwenden. Viele Leute verwenden Komponenten, indem sie sie Datei für Datei referenzieren und registrieren. In diesem Artikel wird erläutert, wie Sie Komponenten in Vue stapelweise einführen, registrieren und verwenden. 1. AnwendungsszenarienIn der täglichen Entwicklung kommt es häufig zu einer solchen Situation: importiere A von 'Komponenten/A' importiere B von 'Komponenten/B' C aus „Komponenten/C“ importieren importiere D aus 'Komponenten/D' Als ich auf diese Art von sich wiederholendem Code stieß, fragte ich mich, ob ich die folgenden Optimierungen vornehmen und sie alle auf einmal importieren könnte. Also habe ich die Webpack-API gefunden und sie durch Aufrufen von require.context verarbeitet. Der spezifische Code lautet wie folgt: 2. NutzungsschritteBeteiligt:
Die genaue Erklärung steht im Code: 1. Dateiverzeichnis 2. HTML-Code <Vorlage> <div Klasse="Wasseranalyse"> <div Klasse="Inhaltsbox" ref="Inhaltsbox"> <a-tabs :default-active-key="aktiveKomponente" @change="tabChangeHandle"> <a-Registerkartenbereich v-for="Element in TabList" :Schlüssel="Artikel.Schlüssel" :tab="Element.tab" ></a-tab-pane> </a-tabs> <div Klasse="Tab-Bereich-Box"> <!-- Binden Sie über das is-Attribut den entsprechenden Komponentennamen und zeigen Sie die entsprechende Komponente an--> <Komponente: ist = "aktiveKomponente"></Komponente> </div> </div> </div> </Vorlage> 3.js-Code Syntax:
Rückgabewert: zwei Methoden und eine Eigenschaft
<Skript> //Konvertiere die mittlere horizontale Linie in camelCase var camelCase = function (s) { return s.replace(/-\w/g, Funktion (x) { return x.slice(1).toUpperCase(); }); }; // Unterkomponenten stapelweise importieren, siehe Syntax oben const allComponents = require.context("./comp", false, /\.vue$/); Konsole.log(alleKomponenten.keys()) // ["./tem-a.vue", "./tem-b.vue", "./tem-c.vue", "./tem-d.vue"] console.log(alleKomponenten.id) //./src/views/tempManage/comp synchronisieren \.vue$ // Erstellen Sie ein Komponenten-Array und registrieren Sie es in den folgenden Komponenten let resComponents = {}; allComponents.keys().fürEach(comName => { let name = camelCase(comName); const comp = alle Komponenten (comName); resComponents[name.replace(/^\.\/(.*)\.\w+$/, "$1")] = comp.default; }); Standard exportieren { Name: "WaterQuery", Komponenten: resComponents, Daten() { zurückkehren { aktiveKomponente: "temA", RegisterkarteListe: [ { Schlüssel: "temA", Registerkarte: „Komponente A“, }, { Schlüssel: "temB", Registerkarte: "B-Komponente", }, { Schlüssel: "temC", Registerkarte: „C-Komponenten“, }, { Schlüssel: "temD", Registerkarte: „D-Komponenten“, }, ], }; }, erstellt() { wenn (diese.$route.query["val"]) { diese.activeComponent = diese.$route.query["val"]; } }, Methoden: { // Tab-Leiste wechseln tabChangeHandle(val) { const {Pfad} = dies.$router; dies.$router.push({ Weg, Abfrage: {val}, }); this.activeComponent = Wert; }, }, }; </Skript> 4. CSS-Code (Sie müssen ihn nicht lesen, er dient nur der Vollständigkeit des Codes und kann direkt ausgeführt und angezeigt werden) <Stilbereich> .Wasseranalyse { Höhe: 100%; Überlauf: automatisch; } .Inhaltsbox { Höhe: 100%; } .tab-pane-box { Höhe: berechnet (100 % – 62 Pixel); } </Stil> AbschlussDies ist das Ende dieses Artikels zum Stapelimport, zur Registrierung und zur Verwendung von Vue-Komponenten. Weitere relevante Inhalte zum Stapelimport von Vue-Komponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: So erstellen Sie eine Ansicht für mehrere Tabellen in MySQL
Datenblatt /* Navicat SQLite-Datenübertragung Que...
Inhaltsverzeichnis 1. Docker installieren 2. Zieh...
Dieser Artikel stellt das Flex-Layout vor, um ein...
Ein Docker-Container startet beim Start beispiels...
Vorwort In vielen MySQL-Test-Szenarien müssen ein...
Inhaltsverzeichnis Fall 1: Fall 2: Fall 3: Um es ...
1. Fenster -> Einstellungen, um das Eclipse-Ei...
Inhaltsverzeichnis Einführung Erstellen eines Arr...
Vorwort Ich habe gerade einen neuen VPS gekauft. ...
Inhaltsverzeichnis 1. Hauptfunktionen 2. Umsetzun...
In diesem Artikel erfahren Sie den spezifischen J...
Ob das Mapping der Mausposition oder das Implemen...
1. Bitte laden Sie den Busybox-Quellcode online h...
Um die Tabelle zu verschönern, können Sie für die...
Robots.txt ist eine reine Textdatei, in der Websi...