Heim > Web-Frontend > js-Tutorial > Auf dem Laufenden mit dem Rahmen von Vue.js 2.0 zum Laufen

Auf dem Laufenden mit dem Rahmen von Vue.js 2.0 zum Laufen

Jennifer Aniston
Freigeben: 2025-02-14 10:16:12
Original
509 Leute haben es durchsucht

Getting up and Running with the Vue.js 2.0 Framework

Möchten Sie Vue.js von Grund auf lernen? SitePoint Premium bietet eine vollständige Sammlung von Vue -Büchern, die die Grundlagen, Projekte, Tipps und Werkzeuge und vieles mehr abdecken. Machen Sie jetzt nur 14,99 USD pro Monat.

Dieser Artikel wurde aktualisiert und hauptsächlich im Abschnitt Tool aktualisiert.

Seit der Veröffentlichung der beliebten JavaScript -Framework Vue.js -Version von V2 kann ich es kaum erwarten, es auszuprobieren und zu sehen, wie es sich anfühlt. Als jemand, der mit Angular und React sehr vertraut ist, freue ich mich darauf, die Ähnlichkeiten und Unterschiede zwischen ihnen und zwischen Vue zu sehen.

Vue 2 verfügt über hervorragende Leistungsmetriken, relativ kleine Ladungen (die gebündelte Vue-Laufzeitversion wiegt etwa 30 KB nach dem Schrumpfen und der GZIP-Komprimierung) und die staatliche Verwaltung von unterstützenden Bibliotheken wie Vue-Router und Vuex, Vue Library) Update. Es ist zu viel, alles in nur einem Artikel abzudecken, aber bitte achten Sie auf die Follow-up-Artikel und wir werden uns die verschiedenen Bibliotheken ansehen, die perfekt in den Kernrahmen integriert sind.

Schlüsselpunkte

  • vue.js 2.0 führt reag-inspiriertes virtuelles DOM ein und integriert verbesserte Bibliotheken wie Vue-Router und VUEX für das staatliche Management.
  • Komponenten sind die Grundlage von VUE.JS 2.0, in dem Anwendungen in eine Reihe verschachtelter Komponenten integriert sind, und es wird empfohlen, Ihren Code besser zu organisieren.
  • Vue-Projekte einrichten von Grund auf erfordert Webpack und Vue-Loader, um .vue-Dateien zu verarbeiten, und Babel, um moderne JavaScript-Funktionen zur Verbesserung der Entwicklungsworkflow zu verwenden.
  • vue devtools ist für das Debuggen von wesentlicher Bedeutung, was einen Einblick in den Zustand der Anwendung und den Datenabfluss durch die Komponenten bietet.
  • vue.js 2.0 erleichtert die Konstruktion interaktiver Formen, indem es V-Modell für die bidirektionale Datenbindung und die Verwendung von V-ON für die benutzerdefinierte Ereignisverarbeitung nutzt, wodurch der Zustandsmanagement zwischen den Komponenten nahtlos wird.
  • Dieser Artikel zeigt, dass Erstellung einer GitHub -Benutzer -Statistik -Akquisitionsanwendung das reaktive System- und Lebenszyklus -Hooks von VUE verwendet, um Daten effektiv zu verwalten und anzuzeigen und die tatsächliche Verwendung von Vue.js in realen Szenarien zu veranschaulichen.

Inspiration aus anderen Bibliotheken

Wenn Sie dieses Tutorial lernen, werden Sie sehen, dass Vue viele Funktionen enthält, die offensichtlich von anderen Frameworks inspiriert sind. Dies ist eine gute Sache; Insbesondere werden Sie sehen, dass die Vorlagen von Vue sehr nahe an den Vorlagen von Angular sind, aber ihre Komponenten- und Komponenten -Lebenszyklus -Ansätze sind näher an Reacts (und Angular's).

Ein solches Beispiel ist, dass Vue wie React und fast alle Frameworks im heutigen JavaScript -Bereich das Konzept des virtuellen DOM verwendet, um die Renderneffizienz aufrechtzuerhalten. Vue verwendet einen Zweig von Snabbdom, einer der beliebtesten virtuellen DOM -Bibliotheken. Die VUE -Website enthält eine Dokumentation über die virtuelle Dom -Rendering, aber als Benutzer müssen Sie nur wissen, dass Vue sehr gut darin ist, die Geschwindigkeit beizubehalten (in vielen Fällen ist sie besser als React), was bedeutet, dass Sie sich sicher abhalten können dass Sie eine zuverlässige Plattform erstellt werden.

Komponenten, Komponenten, Komponenten

Wie auch andere Frameworks heute sind die Kernbausteine ​​von Vue Komponenten. Ihre Anwendung sollte eine Reihe von Komponenten sein, die miteinander erstellt wurden, um die endgültige Anwendung zu generieren. Vue.js geht noch einen Schritt weiter und schlägt vor (wenn auch nicht obligatorisch), dass Sie Komponenten in einer .vue -Datei definieren, und dann kann das Build -Tool (das wir in kurzer Zeit abdecken) diese Dateien analysieren. Angesichts der Tatsache, dass der Zweck dieses Artikels darin besteht, Vue und seine Verwendung vollständig zu untersuchen, werde ich diese Konvention für diese Anwendung verwenden.

vue -Datei lautet wie folgt:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

oder, wenn Sie nicht alle Teile der Komponente in eine einzelne Datei einfügen möchten, können Sie jedem Element ein SRC -Attribut bereitstellen und auf eine separate HTML-, JS- oder CSS -Datei verweisen.

Einstellungen Projekt

Während die exzellente Vue CLI es einfach macht, ein vollständiges Projekt einzurichten, fange ich gerne bei der neuen Bibliothek von vorne an, damit ich mehr über diese Tools erfahren kann.

Jetzt ist WebPack mein bevorzugter Build-Tool, das wir in Verbindung mit dem Vue-Loader-Plugin verwenden können, um das zuvor erwähnte Vue.js-Komponentenformat zu unterstützen. Wir brauchen auch Babel- und Env-Voreinstellungen, damit wir den gesamten Code mit der modernen JavaScript-Syntax sowie Webpack-Dev-Server schreiben können, die den Browser aktualisiert, wenn Dateiänderungen erkannt werden.

Lassen Sie uns ein Projekt initialisieren und die Abhängigkeiten installieren:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen Sie dann den anfänglichen Ordner und die Datei:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Projektstruktur sollte wie folgt sein:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Lassen Sie uns jetzt die Webpack -Konfiguration einrichten. Dies läuft auf die folgenden Punkte hinaus:

  • Sagen Sie WebPack an, Vue-Loader
  • für jede .vue-Datei zu verwenden
  • Sagen Sie WebPack, dass Sie Babel- und Env -Voreinstellungen für jede .js -Datei
  • verwenden sollen.
  • Sagen Sie WebPack an, src/index.html als Vorlage zu verwenden, um eine HTML-Datei für Dev-Server zu generieren, um Dienste anzugeben:
//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Schließlich werden wir der HTML -Datei einige Inhalte hinzufügen und können starten!
<!DOCTYPE html>
<html>
  <head>
    <title>My Vue App</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir haben eine leere DIV mit ID der App erstellt, da dies das Element ist, das wir die VUE -App platzieren werden. Ich bevorzuge es immer, Divs anstelle von Körperelementen zu verwenden, da ich die Kontrolle über den Rest der Seite gibt.

Schreiben unserer ersten Vue.js -Anwendung

Wir werden jedem früheren Programmier -Tutorial treu bleiben, eine Vue -Anwendung schreiben und "Hallo, Welt!"

Jede Vue -Anwendung wird durch Importieren der Bibliothek und dann eine neue VUE -Instanz erstellt: <script> export default { // all code for my component goes here } </script>
<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir geben Vue ein Element zur Verfügung, um die Seite zu rendern, also erstellen wir eine Vue -Anwendung! Wir geben einen Selektor über, um das Element auszuwählen, das Vue durch unsere Anwendung ersetzen soll. Dies bedeutet, dass bei Vue die von uns erstellte Div#-App -App erstellt und durch unsere Anwendung ersetzt wird.

Der Grund, warum wir den Variablennamen verwenden, ist, dass es das "Ansichtsmodell" darstellt. Obwohl VUE nicht mit dem Modell der Modellansichtsmodellmodell (MVVM) verbunden ist, ist es teilweise von ihm inspiriert, und die Konvention, um den variablen Namen VM zu verwenden, um VUE -Anwendungen darzustellen, wurde bis heute verwendet. Natürlich können Sie Variablen so nennen, wie Sie möchten!

Bisher macht unsere App nichts, also erstellen wir unsere erste Komponente, App.vue, die tatsächlich etwas auf der Seite rendert.

Vue gibt die Struktur der Anwendung nicht an, daher liegt sie an Ihnen. Am Ende habe ich für jede Komponente einen Ordner erstellt, in diesem Fall App (ich mag Großbuchstaben, was eine Komponente bedeutet), die drei Dateien enthält:

  • index.vue
  • script.js
  • style.css
mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die Dateistruktur sollte jetzt so aussehen:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

app/index.vue definiert die Vorlage und importiert andere Dateien. Dies passt zur Struktur, die im Abschnitt "Über die Trennung von Bedenken" der VUE -Dokumentation empfohlen wurde.

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Ich mag es, es index.vue zu nennen, aber vielleicht möchten Sie es auch App.vue für eine einfachere Suche nennen. Ich ziehe es vor, App/Index zu importieren.

derzeit ist unsere Vorlage nur

Hallo, Welt!

, ich lasse die CSS -Datei leer. Die Hauptarbeit erfolgt in script.js, was so aussieht:

//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies erstellt eine Komponente, die wir als App nennen werden, die hauptsächlich zu Debugging -Zwecken dient, die ich später abdecken werde, und definiert dann die Daten, für die die Komponente besitzt und für die verantwortlich ist. Derzeit haben wir keine Daten, sodass wir dies erkennen können, indem wir ein leeres Objekt zurückgeben. Später werden wir ein Beispiel für eine Komponente sehen, die Daten verwendet.

Jetzt können wir zu src/index.js zurückkehren und der VUE -Instanz mitteilen, dass wir unsere App -Komponenten rendern:

<!DOCTYPE html>
<html>
  <head>
    <title>My Vue App</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Erstens importieren wir die Komponente und glauben, dass Webpack und Vue-Loader dafür verantwortlich sind, sie zu analysieren. Dann deklarieren wir die Komponente. Dies ist ein wichtiger Schritt: Standardmäßig ist die Vue -Komponente nicht global verfügbar. Jede Komponente muss über eine Liste aller von ihnen verwendeten Komponenten verfügen, und die Tags werden zugeordnet. In diesem Fall registrieren wir unsere Komponente wie folgt:

import Vue from 'vue'

const vm = new Vue({
  el: '#app',
})
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies bedeutet, dass wir in unserer Vorlage das App -Element verwenden können, um unsere Komponenten zu verweisen.

Schließlich definieren wir die Renderfunktion. Diese Funktion verwendet einen Helfer (normalerweise als H) aufgerufen, der Elemente erstellen kann. Es ist nicht sehr ähnlich wie bei React.Createelement -Funktion, die von React verwendet wird. In diesem Fall stellen wir sie mit der Zeichenfolge 'App' zur Verfügung, da die von uns rendere Komponente als Tag -App registriert ist.

Die meisten Fälle (und im Rest dieses Tutorials) werden die Renderfunktion für andere Komponenten nicht verwendet, da wir die HTML -Vorlage definieren werden. Wenn Sie jedoch mehr erfahren möchten, lohnt es sich, Vue.js 'Leitfaden zu Renderfunktionen zu lesen.

Nach

ist der letzte Schritt darin, ein NPM -Skript in package.json zu erstellen:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Führen Sie jetzt den NPM Run Start aus. Ihr Standardbrowser sollte unter https://www.php.cn/link/03b0db8c971432a5e8d163897176a7cc sehen: "Hallo, Welt!"

Versuchen Sie, SRC/Index zu bearbeiten, um die Nachricht in etwas anderes zu ändern. Wenn alles gut geht, sollte WebPack-dev-Server die Seite aktualisieren, um Ihre Änderungen widerzuspiegeln.

Großartig! Wir laufen mit Vue.js.

vue devtools

Bevor wir uns in eine etwas komplexere Vue -Anwendung ausgraben, ist es an der Zeit zu erwähnen, dass Sie auf jeden Fall Vue Devtools installieren sollten. Diese befinden sich in Chrome Developer Tools und bieten Ihnen eine großartige Möglichkeit, Ihre Anwendung und alle übergebenen Eigenschaften, den Zustand jeder Komponente und vieles mehr zu sehen.

Getting up and Running with the Vue.js 2.0 Framework

Erstellen Sie die Anwendung

Als Beispielanwendung werden wir mit der GitHub -API eine Anwendung erstellen, einen Benutzernamen eingeben und einige Github -Statistiken für diesen Benutzer anzeigen. Ich habe die Github -API hier ausgewählt, weil sie den meisten Menschen bekannt ist, ohne Authentifizierung verwendet werden kann und uns viele Informationen bietet.

Bevor ich mit der Anwendung startete, denke ich schnell darüber nach, welche Komponenten wir benötigen. Ich denke Bildschirminformationen auf. Wir werden mit der Eingabe beginnen.

Hinweis: Sie finden den gesamten Code auf GitHub und sogar Anwendungen, die online ausgeführt werden.

Anfangseinstellungen

Ordner für Githuboutput- und Githubinput -Komponenten im SRC -Verzeichnis erstellen:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Fügen Sie jedem Ordner die erforderlichen Dateien hinzu:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Die Struktur des

src -Ordners sollte jetzt so aussehen:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

forms in vue.js

Beginnen wir mit der Githubinput -Komponente. Wie App -Komponenten sollte die Index.vue -Datei Vorlagen enthalten sowie Skripts und CSS -Dateien laden. Derzeit enthält die Vorlage nur

GitHub Eingabe

. Wir werden es bald richtig ausfüllen. Ich mag es, ein virtuelles HTML einzulegen, damit ich überprüfen kann, ob meine Vorlage beim Erstellen einer neuen Komponente korrekt angeschlossen ist:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Was wir beim Erstellen dieser Komponente unterschiedlich machen, ist das Erstellen von Datenausschnitten, die der Komponente zugeordnet sind. Dies ist sehr ähnlich wie bei Reacts Zustandskonzept:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies bedeutet, dass diese Komponente über ein Datenstück verfügt, das sie besitzt und für das sie verantwortlich ist, d. H. Benutzername. Wir werden es bald basierend auf den Benutzereingaben aktualisieren.

Um diese Komponente auf den Bildschirm zu setzen, muss ich sie schließlich bei der App -Komponente registrieren, da die App -Komponente sie rendert.

dafür aktualisiere ich SRC/App/script.js und sage es GitHubInput:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dann kann ich die Vorlage der App -Komponente aktualisieren:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Eine Einschränkung der VUE -Komponenten (wie in Angular und React) besteht darin, dass jede Komponente einen Wurzelknoten haben muss. Wenn die Komponente also mehrere Elemente rendern muss, ist es wichtig, sie alle in etwas zu wickeln, am meisten, die meisten Eine gemeinsame ist div.

Verfolgungformulareingabe

Unsere Githubinput -Komponente muss zwei Dinge tun:

  • Verfolgung des aktuellen Wertes von Eingabe
  • vermittelt, dass der Wert geändert wurde, damit andere Komponenten ihren Status als Ergebnis kennen und aktualisieren können.

Wir können die erste Version ausfüllen, indem wir ein Formular mit Eingabeelementen erstellen. Wir können die integrierten Richtlinien von VUE verwenden, um die Formularwerte zu verfolgen. Die Vorlage für Githubinput lautet wie folgt:

//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie werden feststellen, dass es zwei wichtige Eigenschaften gibt: V-on und V-Model.

v-on ist, wie wir an DOM-Ereignisse binden und Funktionen in VUE aufrufen. Zum Beispiel

Klicken Sie auf mich!

Wenn ein Absatz geklickt wird, wird die Foo -Methode der Komponente aufgerufen. Wenn Sie mehr über die Event -Handhabung erfahren möchten, empfehle ich die Dokumentation von Vue zum Event -Handling. V-Model erstellt eine Zwei-Wege-Datenbindung zwischen Formulareingabe und Daten. Hinter den Kulissen hört das V-Model tatsächlich nach Änderungsereignisse in Formulareingabe- und Aktualisierungsdaten in VUE-Komponenten zu.

Betrachten Sie unter Berücksichtigung unserer Vorlage oben hier, wie wir V-on und V-Model verwenden, um Daten im Formular zu verarbeiten:

  • v-on: submit.prevent = "OnSubmit" läuft OnSubmit, wenn die Methode auf die Formulierung eingerichtet wird. Durch das Hinzufügen von .Prevent bedeutet dies, dass VUE automatisch die Standardaktion verhindern. (Wenn Vue dies nicht tut, können wir Event.PreventDefault () im Code aufrufen, aber wir könnten genauso gut die Funktionalität von Vues nutzen.)
  • V-Model: Benutzername binden den eingegebenen Wert an den Wert Benutzernamen im Code. Für diejenigen, die mit Angular vertraut sind, können Sie erkennen, dass dies NG-Model sehr ähnlich ist. Wenn wir Githubinput erstellen, erklären wir, dass es einen Datenbenutzernamen hat, bei dem wir diese Daten an das Eingabefeld binden. Beide bleiben automatisch synchronisiert.

Jetzt können wir zum JavaScript unserer Komponente die Onsubmit -Methode deklarieren. Beachten Sie, dass der Name hier vollständig willkürlich ist - Sie können einen beliebigen Namen nach Belieben auswählen - aber ich halte mich gerne an die Konvention der Verwendung von Funktionen, die gemäß dem Ereignis genannt werden, das das Ereignis auslöst:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wir können die Daten dazu direkt verweisen, sodass dieser. Aussername liefert den neuesten Wert des Textfelds. Wenn es nicht leer ist, möchten wir, dass andere Komponenten wissen, dass sich die Daten geändert haben. Dazu verwenden wir den Nachrichtenbus. Dies sind Objekte, die Komponenten Ereignisse ausstellen und für andere Ereignisse anhören können. Wenn Ihre Bewerbung größer wird, möchten Sie möglicherweise einen strukturierteren Ansatz wie Vuex in Betracht ziehen. Derzeit kann der Nachrichtenbus dies tun.

Die gute Nachricht ist, dass wir eine leere Vue -Instanz als Nachrichtenbus verwenden können. Dazu erstellen wir src/bus.js, was nur eine VUE -Instanz erstellt und es exportiert:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

In der Githubinput -Komponente können wir das Modul importieren und es verwenden, indem wir Ereignisse ausgeben, wenn sich der Benutzername ändert:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Auf diese Weise ist unser Formular fertiggestellt und wir können mit den generierten Daten etwas tun.

Ergebnisse von Github

zeigen

Die Githuboutput -Komponente hat die gleiche Struktur wie unsere beiden anderen Komponenten. In Githuboutput/script.js importieren wir auch das Busmodul, da wir es müssen, um zu wissen, wann sich der Benutzername ändert. Die Daten, für die diese Komponente verantwortlich ist, ist ein Objekt, das den GitHub -Benutzernamen den Daten, die wir von der Github -API erhalten, abbilden. Dies bedeutet, dass wir nicht jedes Mal eine Anfrage an die API stellen müssen. Wir werden auch den letzten Benutzernamen speichern, den wir erhalten haben, damit wir wissen, welche Daten auf dem Bildschirm angezeigt werden:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Beim Erstellen einer Komponente möchten wir auf ein im Nachrichtenbus emittierter New-Username-Ereignis zuhören. Zum Glück unterstützt Vue viele Lebenszyklushaken, einschließlich des Erstellens. Da wir verantwortungsbewusste Entwickler sind, werden wir auch aufhören, Ereignisse mit dem zerstörten Ereignis zu hören, wenn die Zerstörung der Komponente:

//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dann definieren wir die methodische methodie, die aufgerufen wird, und setzen

<!DOCTYPE html>
<html>
  <head>
    <title>My Vue App</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Beachten Sie, dass wir die Unterusernamechange -Methode nicht explizit an den aktuellen Bereich binden müssen. Wenn Sie eine Methode für eine Vue -Komponente definieren, ruft Vue myMethod.bind (dies) automatisch darauf auf, sodass sie immer an die Komponente gebunden sind. Dies ist einer der Gründe, warum Sie Methoden für Komponenten auf Methodenobjekten definieren müssen, damit Vue sie vollständig verstehen und entsprechend festlegen kann.

Bedingte Rendering

Wenn wir keinen Benutzernamen haben - wir werden es nicht haben, wenn die Komponente zum ersten Mal erstellt wird - wir möchten dem Benutzer eine Nachricht anzeigen. Vue hat viele bedingte Rendering-Techniken, aber am einfachsten ist die V-IF-Richtlinie, die eine Erkrankung akzeptiert und Elemente nur dann macht, wenn die Bedingung besteht. Es funktioniert auch mit V-ELSE:

import Vue from 'vue'

const vm = new Vue({
  el: '#app',
})
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Dies ist jedem eckigen Entwickler sehr vertraut. Wir verwenden hier ein doppeltes Zeichen anstelle eines dreifachen Zeichens, da wir möchten, dass die Bedingung nicht nur dann wahr ist, wenn CurrentUserName null ist, sondern auch, wenn CurrentUserName undefiniert und Null == undefiniert ist.

Daten von Github

abrufen

vue.js kommt nicht mit einer eigenen HTTP -Bibliothek, und das ist aus gutem Grund. Heute ist die Fetch -API nativ in vielen Browsern enthalten (obwohl zum Zeitpunkt des Schreibens, mit Ausnahme von IE11, Safari oder iOS Safari). Für dieses Tutorial werde ich Polyfill nicht verwenden, aber wenn Sie es benötigen, können Sie die API in Ihrem Browser problemlos mit Polyfill hinzufügen. Wenn Sie die Fetch-API nicht mögen, gibt es viele Bibliotheken von Drittanbietern für HTTP, und eine, die in der Vue-Dokumentation erwähnt wird, ist Axios.

Ich unterstütze Frameworks wie VUE sehr, die keine HTTP -Bibliotheken enthalten. Es reduziert die Bündelgröße des Frameworks und ermöglicht den Entwicklern, die Bibliothek auszuwählen, die am besten zu ihnen passt, und passen Sie die Anfragen nach Bedarf zur Kommunikation mit ihrer API problemlos an. Ich werde in diesem Artikel bei der Fetch -API bleiben, aber Sie können sie gerne durch jede Bibliothek ersetzen, die Ihnen gefällt.

Wenn Sie über die Fetch -API wissen müssen, lesen Sie den Beitrag auf Ludovico Fischer auf SitePoint, wodurch Sie schnell beginnen.

Um HTTP -Anforderungen zu stellen, stellen wir der Komponente eine andere Methode Fetchgithubdata zur Verfügung, die eine Anfrage an die Github -API stellt und die Ergebnisse speichert. Es wird auch zuerst prüfen, ob wir bereits die Daten für diesen Benutzer haben, und wenn nicht, wird keine Anfrage gestellt:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dann müssen wir nur diese Methode auslösen, wenn sich der Benutzername ändert:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Eine weitere Sache ist zu beachten, dass Vue, da Vue die von Ihnen verwendeten Daten verfolgt, weiß, wann die Ansicht aktualisiert werden soll. Es gibt einen großartigen reaktiven Leitfaden, der ihn im Detail erläutert, aber im Wesentlichen kann Vue nicht auf magische Weise wissen, wann Sie Eigenschaften von Objekten hinzugefügt oder entfernt haben. Wenn wir also:

tun
mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

vue wird dies nicht erkennen und unsere Ansichten nicht aktualisieren. Stattdessen können wir eine spezielle Vue.Set -Methode verwenden, die Vue ausdrücklich mitteilt, dass wir einen Schlüssel hinzugefügt haben. Der obige Code sieht so aus:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Code ändert dies. Es benachrichtigt auch Vue über Veränderungen, damit es neu geführt werden kann.

Jetzt sieht unser Code so aus:

//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Schließlich müssen wir die Githuboutput -Komponente mit der App -Komponente registrieren:

<!DOCTYPE html>
<html>
  <head>
    <title>My Vue App</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

und fügen Sie es in die Vorlage ein:

import Vue from 'vue'

const vm = new Vue({
  el: '#app',
})
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Obwohl wir keinen Ansichtscode zum Anzeigen der abgerufenen Daten auf dem Bildschirm geschrieben haben, sollten Sie das Formular mit Ihrem Benutzernamen ausfüllen und dann Vue Devtools überprüfen, um die von GitHub angeforderten Daten anzuzeigen. Dies zeigt, wie praktisch und mächtig diese Devtools sind.

Zeigen Sie einige Statistiken in der Ansicht

an

Wir können jetzt die Vorlage aktualisieren, um einige Daten anzuzeigen. Wickeln wir diesen Code in eine andere V-IF-Richtlinie, damit wir die Daten erst nach Abschluss der Anfrage rendern:

mkdir src/App
touch src/App/{index.vue,script.js,style.css}
Nach dem Login kopieren

Auf diese Weise können wir jetzt die GitHub -Details auf den Bildschirm bringen und unsere Anwendung ist erledigt!

Refactor

Wir können definitiv einige Verbesserungen vornehmen. Der HTML -Code, der die oben genannten GitHub -Daten rendert, erfordert nur einen kleinen Teil der Daten des aktuellen Benutzers. Dies ist ein perfekter Fall für eine andere Komponente. Wir können Benutzerdaten dafür bereitstellen, sie können sie rendern.

Erstellen wir eine GithubuserData -Komponente mit der gleichen Struktur wie unsere anderen Komponenten:

<template>
  <p>This is my HTML for my component</p>
</template>

<🎜>

<style scoped>
  /* CSS here
   * by including `scoped`, we ensure that all CSS
   * is scoped to this component!
   */
</style>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Es gibt nur einen kleinen Unterschied in dieser Komponente: Es wird eine Eigenschaftsdaten erhalten, die die Daten des Benutzers sind. Eigenschaften (oder "Requisiten") sind Datenbits, die eine Komponente an ihrer übergeordneten Komponente verabschiedet und sie sich in VUE zum Reagieren sehr ähnlich verhalten. In Vue müssen Sie jede Eigenschaft explizit deklarieren, die die Komponente benötigt. Hier sage ich, dass unsere Komponente eine Eigenschaftsdaten erhält:

mkdir vue2-demo-project
cd vue2-demo-project
npm init -y
npm i vue
npm i webpack webpack-cli @babel/core @babel/preset-env babel-loader vue-loader vue-template-compiler webpack-dev-server html-webpack-plugin --save-dev
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Das, was ich an Vue wirklich mag, ist, dass Sie sehr klar sein müssen. Dies erleichtert den Code einfacher zu verwenden, und ich glaube, dass das Projekt, wenn das Projekt größer und komplexer wird, einfacher zu pflegen ist.

In der neuen Vorlage haben wir genau das gleiche HTML wie zuvor, obwohl wir auf Daten anstelle von Githubdata [CurrentUnername] verweisen können:

mkdir src
touch webpack.config.js src/index.html src/index.js
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Um diese Komponente zu verwenden, müssen wir die Githuboutput -Komponente aktualisieren. Zuerst importieren und registrieren wir GithubuserData:

<code>.
├── package.json
├── package-lock.json
├── src
│   ├── index.html
│   └── index.js
└── webpack.config.js</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sie können einen beliebigen Namen verwenden, wenn Sie die Komponente deklarieren. Wenn ich also Github-User-Data einsetze, können Sie den gewünschten Namen platzieren. Es wird empfohlen, sich an Komponenten zu halten, die Striche enthalten. Vue erzwingt dies nicht, aber die W3C -Spezifikation für benutzerdefinierte Elemente besagt, dass sie Striche enthalten müssen, um LifeName -Konflikte mit Elementen zu verhindern, die in zukünftigen Versionen von HTML hinzugefügt wurden.

Nachdem wir die Komponente deklariert haben, können wir sie in der Vorlage verwenden:

//webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
const HtmlWebPackPlugin = require("html-webpack-plugin")

module.exports = {
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new VueLoaderPlugin(),
    new HtmlWebPackPlugin({
      template: "./src/index.html"
    })
  ]
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Der entscheidende Punkt hier ist, wie ich das Datenattribut an die Komponente übergeben habe:

<!DOCTYPE html>
<html>
  <head>
    <title>My Vue App</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Der Dickdarm zu Beginn dieser Eigenschaft ist entscheidend; VUE wird den Wert von Githubdata [CurrentUnername] bewertet und sicherstellt, dass die GithubuserData -Komponente über den Daten ändert.

Wenn Sie: Daten ein wenig kurz und magisch finden, können Sie auch eine längere V-Bind-Syntax verwenden:

import Vue from 'vue'

const vm = new Vue({
  el: '#app',
})
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die beiden sind gleichwertig. Verwenden Sie also bitte eine Ihrer Präferenzen.

Schlussfolgerung

Auf diese Weise befindet sich unsere Github -Anwendung in einem ziemlich guten Zustand! Sie finden den gesamten Code auf GitHub und sogar Anwendungen, die online ausgeführt werden.

Ich hatte große Hoffnungen auf Vue, als ich anfing, es zu benutzen, weil ich viele gute Dinge gehört habe und ich freue mich zu sagen, dass es meine Erwartungen entspricht. Die Verwendung von Vue fühlt sich an, als würde man die besten Teile von React einnehmen und sie mit den besten Teilen von Angular verschmelzen. Einige Richtlinien (wie V-IF, V-ELSE, V-Model usw.) sind sehr einfach zu beginnen (und einfacher zu verstehen als bedingte Urteile in der JSX-Syntax von React), aber das Komponentensystem von Vues fühlt sich sehr ähnlich wie bei React's's von React's's's, der den Reacts sehr ähnlich ist .

Sie sollten das System in kleine Komponenten zerlegen, und insgesamt fand ich es eine sehr nahtlose Erfahrung. Ich kann die Dokumentation des Vue -Teams noch nicht genug gelobt: Es ist absolut großartig. Die Anleitung ist ausgezeichnet, die API -Referenz ist umfassend und leicht zu navigieren, um genau das zu finden, was Sie wollen.

Wenn Sie diesen Beitrag mögen und mehr erfahren möchten, ist der beste Ausgangspunkt definitiv die offizielle Website von Vue.js.

häufig gestellte Fragen zu Vue.js 2.0

Was ist der Hauptunterschied zwischen Vue.js 1.0 und Vue.js 2.0?

vue.js 2.0 hat mehrere Verbesserungen gegenüber seinem Vorgänger. Die wichtigste Änderung ist die Einführung eines virtuellen DOM, der die Leistung verbessert, indem direkte Vorgänge auf dem tatsächlichen DOM reduziert werden. VUE.JS 2.0 führt außerdem eine vereinfachte Komponenten-basierte Entwicklungssyntax ein, um komplexe Benutzeroberflächen zu vereinfachen. Darüber hinaus unterstützt VUE.JS 2.0 das serverseitige Rendering, wodurch die Leistung Ihrer Anwendung verbessert und die SEO-Optimierung erleichtert wird.

Wie kann ich Beobachter in Vue.js 2.0 verwenden?

Mit dem Beobachter in Vue.js 2.0 können Sie benutzerdefinierte Logik ausführen, wenn sich die Dateneigenschaften ändern. Um den Beobachter zu verwenden, müssen Sie eine Funktion mit demselben Namen wie das Datenattribut definieren, das Sie beobachten möchten, und sie dem "Watch" -Objekt in der VUE -Instanz hinzufügen. Diese Methode wird aufgerufen, wenn sich das Datenattribut ändert und ihre neuen und alten Werte als Parameter angenommen werden.

Was ist die dringende Belastung in Vue.js und wie kann ich es verwenden?

Notfallbelastung ist ein Konzept in Vue.js, mit dem Sie Daten vom Server laden können, bevor Sie diese benötigen, wodurch die Leistung Ihrer Anwendung verbessert wird. Um dringend geladen zu werden, können Sie den Lebenszyklus -Hook "erstellt" verwenden, um Daten vom Server zu erhalten, wenn die Komponente erstellt wird. Diese Daten sind dann unmittelbar nach der Erbringung der Komponente verfügbar.

Wie verwendet ich berechnete Eigenschaften in Vue.js 2.0?

Berechnete Eigenschaften in VUE.JS 2.0 ermöglichen es Ihnen, wiederverwendbare Eigenschaften zu definieren, die basierend auf Ihren Daten berechnet wurden. Um berechnete Eigenschaften zu verwenden, müssen Sie eine Methode definieren, die den berechneten Wert zurückgibt und dem berechneten Objekt in der VUE -Instanz hinzugefügt wird. Diese Methode wird aufgerufen, wenn Datenattribute von Änderungen abhängt, und der Rückgabewert wird zwischengespeichert, bis sich die Abhängigkeits erneut ändert.

Wie kann ich mit Ereignissen in Vue.js 2.0 umgehen?

vue.js 2.0 bietet ein leistungsstarkes Ereignisverarbeitungssystem, mit dem Sie DOM -Ereignisse anhören und benutzerdefinierte Logik ausführen können, wenn Ereignisse auftreten. Um Ereignisse zu verarbeiten, müssen Sie die "V-on" -Richtlinie in der Vorlage verwenden, gefolgt vom Namen des zu hörenen Ereignisses und der Methode zum Ausführen, wenn das Ereignis auftritt. Diese Methode wird unter Verwendung des Ereignisobjekts als Parameter aufgerufen.

Wie kann ich Vue.js 2.0 mit Laravel verwenden?

vue.js 2.0 kann leicht in Laravel, ein beliebtes PHP -Framework, integriert werden. Laravel wird mit Vue.js -Unterstützung geliefert, sodass Sie sofort mit dem Bau von Vue.js -Komponenten beginnen können. Um Vue.js in einem Laravel -Projekt zu verwenden, müssen Sie das Skript von VUE.JS in HTML aufnehmen und die VUE -Komponente in einer separaten JavaScript -Datei definieren.

Wie verwendet ich Vue.js 2.0 mit WebPack?

WebPack ist ein Modul -Bundler, mit dem die Komponenten von VUE.JS in eine einzelne JavaScript -Datei gebündelt werden können. Um Vue.js mit WebPack zu verwenden, müssen Sie das "Vue-Loader" -Paket installieren, mit dem WebPack VUE-Komponenten verstehen kann. Sie können dann Vue -Komponenten in Ihre JavaScript -Datei importieren und wie gewohnt verwenden.

Wie verwendet ich Vue.js 2.0 mit TypeScript?

vue.js 2.0 unterstützt TypeScript, ein statisch typisiertes Superet von JavaScript. Um VUE.JS mit TypeScript zu verwenden, müssen Sie das Paket "Vue-Klasse-Komponenten" installieren, mit dem Sie VUE-Komponenten mithilfe der TypeScript-Klasse definieren können. Sie können dann die VUE -Komponente als TypeScript -Klasse definieren und die statische typisierte Funktionen von TypeScript verwenden, um Fehler zur Kompilierungszeit zu erfassen.

Wie verwendet ich Vue.js 2.0 mit Vuex?

Vuex ist eine staatliche Verwaltungsbibliothek für VUE.JS, mit der Sie den Status Ihrer Anwendung in einem zentralisierten Speicher verwalten können. Um Vuex mit Vue.js zu verwenden, müssen Sie das "Vuex" -Paket installieren und dann Ihren Status, Ihre Mutationen, Aktionen und Getter im Vuex -Speicher definieren. Sie können dann die Eigenschaft "this. $ Store" verwenden, um auf Ihren Staat zuzugreifen und Aktionen der VUE -Komponente zu planen.

Wie verwendet ich Vue.js 2.0 mit Vue -Router?

Vue Router ist eine Routing -Bibliothek für Vue.js, mit der Sie Routen für Ihre Anwendung definieren können. Um Vue Router mit Vue.js zu verwenden, müssen Sie das "Vue-Router" -Paket installieren und Ihre Route in der Vue-Router-Instanz definieren. Sie können dann die "Router-Link" -Komponente verwenden, um zwischen den Routen zu navigieren und die Komponente "Router-View" zu verwenden, um die aktuell Routed-Komponenten anzuzeigen.

Das obige ist der detaillierte Inhalt vonAuf dem Laufenden mit dem Rahmen von Vue.js 2.0 zum Laufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage