


Problem beim Teilen einer Komponente in vue+webpack (ausführliches Tutorial)
In diesem Artikel wird hauptsächlich die Lösung für zwei oder mehr Menüs vorgestellt, um eine Komponente in der tatsächlichen Entwicklung von Vue + Webpack zu teilen.
In der tatsächlichen Entwicklung von Vue ist dies häufig der Fall Wenn Sie beispielsweise auf das Problem der gemeinsamen Nutzung einer Komponente stoßen, gibt es in einem Menü zwei Schaltflächen. Durch Klicken auf jede Schaltfläche wird dieselbe Komponente aufgerufen, und ihr Inhalt besteht darin, unterschiedliche Inhalte basierend auf unterschiedlichen Routing-Parametern anzufordern.
Der erste Schritt besteht darin, wie folgt eine neue Demo von vue+webpack+vuecli zu erstellen:
Vue-cli ist ein Gerüsttool für vue :
npm install -g vue-cli
Der zweite Schritt besteht darin, das Projektverzeichnis einzugeben und ein Vuedemo-Ordnerprojekt zu erstellen. Befolgen Sie die folgenden zwei Schritte:
cd vue_test_project //进入vue_test_project目录下 vue init webpack vuedemo //在vue_test_project目录下创建一个vuedemo工程
Nach der Eingabe dieses Befehls werden einige Eingabeaufforderungen angezeigt Sorgen Sie sich um sie. Drücken Sie einfach weiter die Eingabetaste.
Der dritte Schritt ist wie folgt:
cd vuedemo npm install
Die Ausführung von npm install wird eine Weile dauern, da der Code vom Server heruntergeladen wird. Und während der Ausführung werden einige Warnmeldungen angezeigt. Mach dir keine Sorgen, warte einfach. Wenn längere Zeit keine Antwort erfolgt, stoppen Sie den Vorgang einfach mit Strg+C und führen Sie ihn dann erneut aus.
Der letzte Schritt ist wie folgt:
npm run dev
Nach dem Ausführen von npm run dev öffnet sich automatisch ein Browserfenster und Sie können den tatsächlichen Effekt sehen. Diese Demo ist erstellt. Fügen Sie nun einige Inhalte zu dieser Demo hinzu und ändern Sie sie wie folgt:
Ändern Sie den Inhalt von HelloWorld.vue wie folgt:
<template> <p class="hello"> <h1>{{ msg }}</h1> <h2>Essential Links</h2> <p class="btn"> <router-link :to="{name:'content',params:{differId:'con1'}}">内容按钮1</router-link> <router-link :to="{name:'content',params:{differId:'con2'}}">内容按钮2</router-link> </p> <router-view></router-view> </p> </template> <script> export default { name: 'HelloWorld', data () { return { msg: 'Welcome to Your Vue.js App' } } } </script> <style scoped> h1, h2 { font-weight: normal; } ul { list-style-type: none; padding: 0; } li { display: inline-block; margin: 0 10px; } a { color: #42b983; } </style>
Index unter dem Routing-Router Die Änderung von .html ist wie folgt:
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' import content from '@/components/conDetail' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld, children:[ {name:'content',path:'content/:differId',component:content} ] } ] })
Erstellen Sie nun eine conDetail.vue wie folgt:
<template> <p class="same"> 这个是相同的内容 <p class="conlist"> <template v-for="item in items"> <p>{{item.con}}</p> </template> </p> </p> </template> <script> export default { name: 'conDetail', data () { return { msg: '', differIdType:'', conlist:[ {'con':'这是第一个内容按钮的内容1'}, {'con':'这是第一个内容按钮的内容2'} ], items:[], } }, mounted(){ this.differIdType = this.$route.params.differId == 'con1' ? '0' : '1'; if(this.differIdType == 0){ this.items = this.conlist; }else{ this.items = []; } }, watch:{ $route:function(to,from){ this.differIdType = to.params.differId == 'con1' ? '0' : '1'; if(this.differIdType == 0){ this.items = this.conlist; }else{ this.items = []; } } } } </script> <style> </style>
Das Ergebnis ist, dass beim Klicken auf die Inhaltsschaltfläche 1 der Inhalt des Objekts angezeigt wird erscheint. Klicken Sie auf die Inhaltsschaltfläche 2, der entsprechende Inhalt erscheint. Was ich hier schreibe, ist natürlich, dass der Inhalt der Elemente ein leeres Array ist, wenn auf Schaltfläche 2 geklickt wird. Auch hier kommt die Überwachung von $route zum Einsatz.
Wenn Sie bei der Wiederverwendung von Komponenten auf Änderungen in Routing-Parametern reagieren möchten, können Sie einfach das $route-Objekt beobachten (Änderungen überwachen):
const User = { template: '...', watch: { '$route' (to, from) { // 对路由变化作出响应... } } }
oder den in 2.2 eingeführten beforeRouteUpdate-Guard verwenden:
const User = { template: '...', beforeRouteUpdate (to, from, next) { // react to route changes... // don't forget to call next() } }
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
So implementieren Sie die grundlegende Warenkorbfunktion mit Angular
Details zu Routing und Middleware in node.js Einführung
So implementieren Sie die Eintritts-/Verlassensanimation in Vue
Detaillierte Interpretation der im Webpack ausgeführten Eintrittsfunktion
Das obige ist der detaillierte Inhalt vonProblem beim Teilen einer Komponente in vue+webpack (ausführliches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

Zu den Methoden zum Implementieren des Sprung eines Tags in VUE gehören: Verwenden des A -Tags in der HTML -Vorlage, um das HREF -Attribut anzugeben. Verwenden Sie die Router-Link-Komponente des Vue-Routings. Verwenden Sie dies. $ Router.push () Methode in JavaScript. Parameter können durch den Abfrageparameter weitergeleitet werden, und Routen sind in den Routeroptionen für dynamische Sprünge konfiguriert.
