


Einführung in verschiedene Methoden zum Definieren von Komponentenvorlagen in Vue.js
Vue.js verwendet eine HTML-basierte Vorlagensyntax, die es Entwicklern ermöglicht, das DOM deklarativ an die Daten der zugrunde liegenden Vue-Instanz zu binden. Alle Vue.js-Vorlagen sind legales HTML und können von Browsern und HTML-Parsern analysiert werden, die der Spezifikation folgen.
Es gibt viele Optionen zum Definieren von Komponentenvorlagen in Vue. Meiner Meinung nach gibt es mindestens sieben verschiedene Möglichkeiten:
Strings
Template-Literale
Machen Sie sich mit jeder Methode vertraut und besprechen Sie deren Vor- und Nachteile, damit Sie wissen, welche Methode in der jeweiligen Situation am besten geeignet ist.
1. String
- Standardmäßig wird die Vorlage als String in der JS-Datei definiert. Ich denke, wir sind uns alle einig, dass Vorlagen in Strings sehr schwer zu verstehen sind. Abgesehen von der breiten Browserunterstützung gibt es an dieser Methode nichts Besonderes.
Vue.component('my-checkbox', { template: `<div class="checkbox-wrapper" @click="check"> <div :class="{ checkbox: true, checked: checked }"> </div><div class="title">{{ title }}</div></div>`, data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });
Dieser Ansatz ist jedoch nicht perfekt; ich habe festgestellt, dass die meisten IDEs Sie immer noch mit Syntaxhervorhebung, Tabulatoren, Zeilenumbrüchen usw. belasten.
Vue.component('my-checkbox', { template: ` < div class = "checkbox-wrapper"@click = "check" > <div: class = "{ checkbox: true, checked: checked }" ></div> <div class="title">{{ title }}</div ></div>`, data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });/
3, X-Templates
Vue.component('my-checkbox', { template: '#checkbox-template', data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });
<script type="text/x-template" id="checkbox-template"> <div class="checkbox-wrapper" @click="check"> <div :class="{ checkbox: true, checked: checked }"></div> <div class="title">{{ title }}</div> </div> </script>4. Inline-Vorlagen
Durch Hinzufügen des Inline-Template-Attributs zu einer Komponente können Sie Vue angeben, dass der interne Inhalt ihre Vorlage ist, anstatt ihn als verteilten Inhalt zu behandeln.
Es hat die gleichen Nachteile wie x-templates, aber ein Vorteil besteht darin, dass der Inhalt in der HTML-Vorlage an der richtigen Position ist, sodass er beim Laden der Seite gerendert werden kann, anstatt zu warten, bis Javascript verfügbar ist laufen.
Vue.component('my-checkbox', { data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });
<my-checkbox inline-template> <div class="checkbox-wrapper" @click="check"> <div :class="{ checkbox: true, checked: checked }"></div> <div class="title">{{ title }}</div> </div> </my-checkbox>5. Rendering-Funktion
Die Rendering-Funktion erfordert, dass Sie die Vorlage als Javascript-Objekt definieren. Sie sind eindeutig die ausführlichsten und abstraktesten Vorlagenoptionen. Dies hat jedoch den Vorteil, dass die Vorlage näher am Compiler liegt und Ihnen den Zugriff auf die gesamte Javascript-Funktionalität statt auf die von der Direktive bereitgestellte Teilmenge ermöglicht.
Vue.component('my-checkbox', { data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } }, render(createElement) { return createElement( 'div', { attrs: { 'class': 'checkbox-wrapper' }, on: { click: this.check } }, [ createElement( 'div', { 'class': { checkbox: true, checked: this.checked } } ), createElement( 'div', { attrs: { 'class': 'title' } }, [ this.title ] ) ] ); } });
6. JSX
Die umstrittenste Vorlagenoption in Vue ist JSX. Einige Entwickler halten JSX für hässlich, unintuitiv und einen Verrat am Geist von Vue. JSX erfordert, dass Sie es zuerst konvertieren, da Browser es nicht lesen können. Wenn Sie jedoch Rendering-Funktionen verwenden müssen, ist JSX sicherlich eine weniger abstrakte Möglichkeit, Vorlagen zu definieren. Vue.component('my-checkbox', {
data() {
return { checked: false, title: 'Check me' }
},
methods: {
check() { this.checked = !this.checked; }
},
render() {
return <div class="checkbox-wrapper" onClick={ this.check }>
<div class={{ checkbox: true, checked: this.checked }}></div>
<div class="title">{ this.title }</div>
</div>
}
});
7. Einzeldateikomponenten Solange Sie mit den Build-Tools in Ihrem Setup vertraut sind, sind Einzeldateikomponenten die Königin der Vorlagenoptionen. Sie bieten das Beste aus beiden Welten: Sie ermöglichen das Schreiben von Markups und behalten gleichzeitig alle Komponentendefinitionen in einer einzigen Datei bei.
Sie erfordern eine Transposition und einige IDEs unterstützen keine Syntaxhervorhebung für diesen Dateityp, aber ansonsten sind sie kaum zu übertreffen.
<template> <div class="checkbox-wrapper" @click="check"> <div :class="{ checkbox: true, checked: checked }"></div> <div class="title">{{ title }}</div> </div> </template> <script> export default { data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } } </script>
Sie könnten argumentieren, dass es mehr Möglichkeiten zur Vorlagendefinition gibt, da Sie Vorlagenpräprozessoren wie Pug vs. SFCs verwenden können. Welcher ist der Beste?
Natürlich gibt es keinen perfekten Weg und jeder sollte anhand Ihres Anwendungsfalls beurteilt werden. Ich denke, die besten Entwickler erkennen alle Möglichkeiten und machen jedem Entwickler ein Werkzeug in seinem Vue.js-Werkzeuggürtel!
Englische Originaladresse: https://vuejsdevelopers.com/2017/03/24/vue-js-component-templates/Verwandte Empfehlungen:
Zusammenfassung der Fragen zum Front-End-Vue-Interview 2020 (im Anhang). ) Antwort) vue-Tutorial-Empfehlung: Die neuesten 5 vue.js-Video-Tutorial-Auswahlen im Jahr 2020Weitere Programmierkenntnisse finden Sie unter:
Einführung in die Programmierung
! !Das obige ist der detaillierte Inhalt vonEinführung in verschiedene Methoden zum Definieren von Komponentenvorlagen in Vue.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Vue.js 'Rolle in der Webentwicklung besteht darin, als progressives JavaScript -Framework zu fungieren, das den Entwicklungsprozess vereinfacht und die Effizienz verbessert. 1) Es ermöglicht Entwicklern, sich auf Geschäftslogik durch reaktionsschnelle Datenbindung und Komponentenentwicklung zu konzentrieren. 2) Das Arbeitsprinzip von Vue.js beruht auf reaktionsschnellen Systemen und virtuellem DOM, um die Leistung zu optimieren. 3) In den tatsächlichen Projekten ist es üblich, Vuex zu verwenden, um den globalen Zustand zu verwalten und die Datenreaktionsfähigkeit zu optimieren.

Vue.js ist ein progressives JavaScript -Framework, das von Ihnen Yuxi im Jahr 2014 veröffentlicht wurde, um eine Benutzeroberfläche zu erstellen. Zu den Kernvorteilen gehören: 1. Responsive Datenbindung, automatische Aktualisierungsansicht von Datenänderungen; 2. Komponentenentwicklung kann die Benutzeroberfläche in unabhängige und wiederverwendbare Komponenten aufgeteilt werden.

Netflix verwendet React als Front-End-Framework. 1) Reacts komponentiertes Entwicklungsmodell und ein starkes Ökosystem sind die Hauptgründe, warum Netflix es ausgewählt hat. 2) Durch die Komponentierung spaltet Netflix komplexe Schnittstellen in überschaubare Teile wie Videotiere, Empfehlungslisten und Benutzerkommentare auf. 3) Die virtuelle DOM- und Komponentenlebenszyklus von React optimiert die Rendering -Effizienz und die Verwaltung des Benutzerinteraktion.

Die Auswahl von Netflix in der Front-End-Technologie konzentriert sich hauptsächlich auf drei Aspekte: Leistungsoptimierung, Skalierbarkeit und Benutzererfahrung. 1. Leistungsoptimierung: Netflix wählte React als Hauptgerüst und entwickelte Tools wie SpeedCurve und Boomerang, um die Benutzererfahrung zu überwachen und zu optimieren. 2. Skalierbarkeit: Sie übernehmen eine Mikro-Front-End-Architektur, die Anwendungen in unabhängige Module aufteilt und die Entwicklungseffizienz und die Systemskalierbarkeit verbessern. 3. Benutzererfahrung: Netflix verwendet die Material-UI-Komponentenbibliothek, um die Schnittstelle kontinuierlich durch A/B-Tests und Benutzer-Feedback zu optimieren, um Konsistenz und Ästhetik sicherzustellen.

NetflixuSesacustomframeworkcalted "Gibbon" Builtonreact, NotreactorVuedirect.1) TeamExperience: Wählen Sie beobädtes Vertrauen

Netflix berücksichtigt hauptsächlich Leistung, Skalierbarkeit, Entwicklungseffizienz, Ökosystem, technische Schulden und Wartungskosten bei der Rahmenauswahl. 1. Leistung und Skalierbarkeit: Java und Springboot werden ausgewählt, um massive Daten und hohe gleichzeitige Anforderungen effizient zu verarbeiten. 2. Entwicklungseffizienz und Ökosystem: Verwenden Sie React, um die Effizienz der Front-End-Entwicklung zu verbessern und sein reiches Ökosystem zu nutzen. 3. Technische Schulden- und Wartungskosten: Wählen Sie Node.js, um Microservices zu erstellen, um Wartungskosten und technische Schulden zu senken.

Netflix verwendet React hauptsächlich als Front-End-Framework, das durch VUE für bestimmte Funktionen ergänzt wird. 1) Die Komponentierung von React und das virtuelle DOM verbessern die Leistung und Entwicklungseffizienz von Netflix -Anwendungen. 2) VUE wird in den internen Tools und kleinen Projekten von Netflix verwendet, und seine Flexibilität und Benutzerfreundlichkeit sind entscheidend.

Vue.js ist ein progressives JavaScript -Framework, das zum Erstellen komplexer Benutzeroberflächen geeignet ist. 1) Zu seinen Kernkonzepten gehören Reaktionsdaten, Komponentierungen und virtuelle DOM. 2) In praktischen Anwendungen kann es durch den Aufbau von Todo -Anwendungen und die Integration von Vuerouter demonstriert werden. 3) Beim Debuggen wird empfohlen, VODEVTOOLS und CONSOLE.LOG zu verwenden. 4) Die Leistungsoptimierung kann durch V-IF/V-Show, Listen-Rendering-Optimierung, asynchrone Belastung von Komponenten usw. erreicht werden.


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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

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

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version