Vorwort Ich plane vor Kurzem, eine Bereiten Sie sich beim Erstellen der Architektur darauf vor, Aber ich habe ein Problem mit Finden Sie das Problem Zuerst habe ich eine grundlegende Komponente aus „Vue-Class-Komponente“ importieren Importiere VanUIComponent aus '@packs/common/VanUIComponent' importiere { VNode } von 'vue' importiere { Prop } von 'vue-property-decorator' importiere { CardShadowEnum } aus '@packs/config/card' @Komponente exportiere Standardklasse Card erweitert VanUIComponent { @Stütze({ Typ: Zeichenfolge, Standard: nicht definiert }) öffentliches HeaderPadding !: Zeichenfolge | nicht definiert @Stütze({ Typ: Zeichenfolge, Standard: '' }) öffentlicher Titel !: Zeichenfolge @Stütze({ Typ: Zeichenfolge, Standard: CardShadowEnum.Hover }) öffentlicher Schatten !: CardShadowEnum öffentlicher statischer Komponentenname = "v-card" öffentliches Abrufen von WrapperClassName(): Zeichenfolge { Konstantenliste: Zeichenfolge[] = ['v-card__wrapper'] Liste.push(`Schatten-${ dieser.Schatten }`) gibt list.join(' ') zurück } öffentliches Rendern(): VNode { zurückkehren ( <div Klasse={ dieser.WrapperKlassenname }> <div Klasse="v-card__header" Stil={ { padding: this.headerPadding } }> { dies.$slots.title ? <slot name="title" /> : <div>{ diese.title }</div> } </div> <div Klasse="v-card__body"> <slot name="Standard" /> </div> <div Klasse="v-card__footer"></div> </div> ) } } Bei Verwendung dieser <Vorlage> <v-Karte> <template #title>1111</template> </v-Karte> </Vorlage> <script lang="ts"> Vue von „vue“ importieren Komponente aus „Vue-Class-Komponente“ importieren @Komponente exportiere Standardklasse Components erweitert Vue { } </Skript> <style lang="scss" scoped> .components__wrapper { Polsterung: 20px; } </Stil> Ich habe festgestellt, dass der Browser nach dem Rendern Ich habe einen Tag lang Baidu und Google durchsucht, konnte aber keine Erklärung finden. Nachdem ich die offizielle Dokumentation sorgfältig gelesen hatte, gab es keinen ähnlichen Hinweis. Auch in der Dokumentation des lösen Am nächsten Tag kämpfte ich immer noch damit und suchte nach dem Schreiben in Ich wollte nicht aufgeben, änderte den Suchtext und fand schließlich eine Lösung. Ich änderte den Code wie folgt: ... öffentliches Rendern(): VNode { zurückkehren ( <div Klasse={ this.wrapperClassName }> <div Klasse="v-card__header" Stil={ { padding: this.headerPadding } }> { dies.$slots.title ?? <div>{ diese.title }</div> } </div> <div Klasse="v-card__body"> <slot name="Standard" /> </div> <div Klasse="v-card__footer"></div> </div> ) } ... Schauen Sie sich die Browserdarstellung noch einmal an: Problemlösung Nachtrag Wenn bei Verwendung von Dies ist das Ende dieses Artikels über das Problem, dass der Vue+tsx-Slot nicht ersetzt wird. Weitere relevante Vue+tsx-Slots, die nicht ersetzt werden, finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beispiel für eine Methode zur Überprüfung des Status einer Linux-Firewall
>>: Detaillierte Erklärung der Linux-Less-Befehlsbeispiele
In diesem Artikel wird der spezifische Code von j...
Inhaltsverzeichnis Auf dem Server läuft Jupyter N...
Ohne weitere Umschweife sind dies diese drei Meth...
Szenario: Nach der Installation der neuesten Vers...
Für Windows-Benutzer Verwenden von openGauss in D...
Was ist der Unterschied zwischen der grünen Versi...
Aufgrund der anfänglichen Partitionierung des Sys...
Fügen Sie zunächst den Code unter dem Effektdiagr...
jQuery realisiert den Effekt der Sitzplatzauswahl...
Überwachungshost hinzufügen Host 192.168.179.104 ...
Sehen wir uns zunächst verschiedene Möglichkeiten...
1. Erstellen Sie den Tomcat-Installationspfad mkd...
Verwenden Sie den Befehl wget, um das gesamte Unt...
Einführung Unser Unternehmen ist an der Forschung...
Traditionell erstellen Entwickler Eigenschaften i...