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
<br />Im gesamten Produktdesignprozess liege...
Die Schritte zum Konfigurieren von Tomcat in IDEA...
Inhaltsverzeichnis 1.v-Modell 2. Bindungseigensch...
Problembeschreibung Bei Verwendung von Windows Se...
Detaillierte Erklärung zum Erstellen geplanter My...
Inhaltsverzeichnis Vorwort Lösung: Schritt 1 Schr...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. df-Befehl 2. du-Befehl 3. B...
Vorwort Um sicherzustellen, dass Ihre Webseiten in...
Vorwort Während meines Praktikums in der Firma ha...
Wenn Sie in CSS die Eigenschaft „font-family“ ver...
Installationseinführung unter Windows: Schauen Si...
Vorwort Verwenden Sie nginx zum Lastenausgleich. ...
In diesem Artikel wird der spezifische Code des j...
Inhaltsverzeichnis 1. Bedingungen für das Versage...