Wir können jsx/tsx-Dateien direkt erstellen Die Projektstruktur sieht diesmal wie folgt aus: Verwenden Sie es so in der Vue-Datei // index.vue <Vorlage> <div Klasse="Wrapper"> <Allgemein :opt="Liste" /> </div> </Vorlage> <script lang="ts"> importiere { Komponente, Vue } von „vue-property-decorator“; importiere Common aus "./components/Common"; @Komponente({ Name: "App", Komponenten: Gemeinsam, }, }) exportiere Standardklasse App erweitert Vue { private Liste = ["Ich möchte zu Taobao", "Ich möchte zu Baidu", "Ich möchte zu JD"]; } </Skript> tsx schreibt so importiere { CreateElement } von „vue“; importiere { Komponente, Vue, Prop } von „vue-property-decorator“; @Komponente({ Name: „Allgemein“ }) exportiere Standardklasse Common erweitert Vue { @Prop(Objekt) opt!: beliebig[] render(h: ErstelleElement) { Rückkehr <span> { dies.opt.map((it) => { geben Sie <span style="marginRight:10px">{es} zurück</span> }) } </span> } } Schauen Sie sich die Seite an Jemand hat vielleicht bemerkt, dass ich auch auf Eine kurze Einführung in die Parameterübergabe: Erster Parameter: { Der zweite Parameter: Der dritte Parameter: { Die Rendering-Funktion bringt viel Flexibilität in Vue. Wenn Sie früher das Einfügen von etwas in eine untergeordnete Komponente anpassen wollten, mussten Sie viele // Transformiere die Daten von index.vue oben private Liste = [ { render: () => ["a", { style: { color: "red" } }, "Ich möchte zu Taobao"] }, { render: () => ["a", { style: { color: "green" } }, "Ich möchte zum JD."] }, { render: () => ["a", { style: { color: "pink" } }, "Ich möchte zu Baidu"] }, ]; Dies ist in tsx geschrieben: { dies.opt.map((it) => { return h(...it.render()) }) } Sie können eine schicke Seite rendern. Wir können auch so spielen: // TSX-Transformation <span> { dies.opt.map((it) => { gib es zurück.render(h) }) } </span> Wir können dies auf der Seite index.vue tun: // index.vue private Liste = [ { rendern: (h: ErstelleElement) => h("a", { style: { color: "red", marginRight: "5px" } }, "Ich möchte zu Taobao"), }, { rendern: (h: ErstelleElement) => h("a", { style: { color: "green", marginRight: "5px" } }, "Ich möchte zum JD"), }, { rendern: (h: ErstelleElement) => h("a", { style: { color: "pink", marginRight: "5px" } }, "Ich möchte zu Baidu"), }, ]; Das Ergebnis ist das gleiche Phantasie Wir können auch unsinnige Etiketten rendern! // index.vue-Transformation { rendern: (h: ErstelleElement) => H( "h1", { Stil: { Farbe: "grün", rechter Rand: "5px" }, }, „Ich gehe zum JD.“ ), }, Wir können Ereignisse in der Rendering-Funktion beliebig definieren: // index.vue private Liste = [ { rendern: (h: ErstelleElement) => H( "A", { Stil: { Farbe: "rot", rechter Rand: "5px" }, An: { klick: () => this.iWillGoWhere("TB"), }, }, „Ich möchte zu Taobao“ ), }] iWillGoWhere(Typ: Zeichenfolge) { const goWhere: beliebig = { TB: () => { alert("Ich gehe zu Taobao!"); }, JD: () => { alert("Ich gehe zum JD!"); }, BD: () => { alert("Ich möchte zu Baidu!"); }, }; geheWohin[Typ](); } Das ist es! Dies ist das Ende dieses Artikels zum Schreiben von React in einem Vue-Projekt. Weitere Informationen zum Schreiben von React in einem Vue-Projekt 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:
|
<<: Detaillierte Analyse der MySQL-Optimierung von like und = Leistung
>>: So setzen Sie das Root-Passwort in Linux mysql-5.6 zurück
pt-Herzschlag Wenn die Datenbank zwischen Master ...
Grafisches Tutorial zur Installation und Konfigur...
Starten Sie den MySQL-Container in Docekr Verwend...
1. Einleitung Ich habe vor Kurzem an einem Projek...
Wenn die Tabelle breit ist, kann es zu einem Über...
In diesem Artikelbeispiel wird der spezifische Co...
Manchmal müssen Sie während des Betriebs freigege...
Inhaltsverzeichnis Vorwort: 1. Standardwertbezoge...
Zunächst lautet der HTML-Code zum Einbetten des Vi...
Was ist Keepalive? Bei der normalen Entwicklung m...
Bemerkung: Die Datenmenge in diesem Artikel beträ...
Nginx ist ein leistungsstarker, leistungsstarker ...
Inhaltsverzeichnis 1.MySQL addiert oder subtrahie...
Inhaltsverzeichnis 1. Logbezogene Dienste 2. Geme...
1) Geltungsbereich: schreibgeschützt: Eingabe [Typ...