Ich habe gerade Vue installiert und einige Tutorials befolgt, um ein Projekt mit der vue-cli-Webpack-Vorlage zu erstellen. Wenn es die Komponente erstellt, stelle ich fest, dass es unsere Daten innerhalb der folgenden Bereiche bindet:
export default {
name: 'app',
data: []
}
Während ich in anderen Tutorials sehe, dass Daten gebunden sind von:
new Vue({
el: '#app',
data: []
)}
Was ist der Unterschied und warum scheint die Syntax zwischen den beiden unterschiedlich zu sein? Ich habe Probleme, den 'neuen Vue'-Code innerhalb des von mir verwendeten Tags aus der von der vue-cli generierten App.vue zum Laufen zu bringen.
vue.js
vue-component
vue-cli
rockzombie2
quelle
quelle
Antworten:
Wenn Sie erklären:
Dies ist normalerweise Ihre Root-Vue-Instanz, von der der Rest der Anwendung abstammt. Dies hängt von dem in einem HTML-Dokument deklarierten Stammelement ab, zum Beispiel:
Die andere Syntax deklariert eine Komponente, die registriert und später wiederverwendet werden kann. Wenn Sie beispielsweise eine einzelne Dateikomponente erstellen, wie z.
Sie können dies später importieren und wie folgt verwenden:
Stellen Sie außerdem sicher, dass Sie Ihre
data
Eigenschaften als Funktionen deklarieren , da sie sonst nicht reaktiv sind.quelle
main.js
- spielt keine Rolle. Sie müssen lediglich wissen, dass dies der Ausgangspunkt der Anwendung ist, ähnlich wieint main()
in C.Component.vue
Dateien verwenden immer dieexport default { ... }
Syntax. Die Dokumente machen einen guten Job und erklären die Unterschiede zwischen Komponenten, globalen , lokalen und einzelnen Dateienexport default
wird verwendet, um eine lokale Registrierung für die Vue-Komponente zu erstellen.Hier ist ein großartiger Artikel, der mehr über Komponenten erklärt: https://frontendsociety.com/why-you-shouldnt-use-vue-component-ff019fbcac2e
quelle
Der erste Fall (
export default {...}
) ist die ES2015-Syntax, um eine Objektdefinition zur Verwendung verfügbar zu machen.Der zweite case (
new Vue (...)
) ist die Standardsyntax zum Instanziieren eines definierten Objekts.Die erste wird in JS zum Booten von Vue verwendet, während beide zum Erstellen von Komponenten und Vorlagen verwendet werden können.
Weitere Informationen finden Sie unter https://vuejs.org/v2/guide/components-registration.html .
quelle
Wann immer Sie verwenden
und ein Objekt ist
Die oben genannten können Sie überall mit
import
oder importierenmodule.js
und dort können Sie ein Objekt verwenden. Dies ist keine Einschränkung, dass ein Objekt ein Objekt ist, sondern nur eine Funktion, eine Klasse oder ein Objekt.Wenn du sagst
wie du gesagt hast
Hier initiieren Sie ein Objekt der Klasse Vue.
Ich hoffe, meine Antwort erklärt Ihre Anfrage allgemein und expliziter.
quelle
quelle