VorwortBei der Projektentwicklung gibt es viele Möglichkeiten, Symbole zu verwenden. Sie können geeignete Symbole auf Iconfont finden und sie über http verwenden oder direkt herunterladen. Hier zeige ich Ihnen eine Möglichkeit, Symbole durch die Implementierung benutzerdefinierter Komponenten einzuführen. Erstellen der UmgebungHier erstellen wir ein neues Projekt über @vue/cli 4.5.13 und müssen der Einfachheit halber die Abhängigkeit svg-sprite-loader installieren, um die entsprechenden svg-Symbole zu verarbeiten. Installation: Konfigurieren Sie vue.config.jsErstellen Sie nach der Installation von svg-sprite-loader eine neue vue.config.js, um Abhängigkeiten zu konfigurieren: // vue.config.js const { lösen } = erfordern ('Pfad') modul.exporte = { chainWebpack(Konfiguration) { Konfiguration .Modul .regel('svg') .ausschließen .add(auflösen('src/icons')) .Ende() Konfiguration .Modul .regel('Symbole') .prüfung(/\.svg$/) .enthalten .add(auflösen('src/icons')) .Ende() .verwenden('svg-sprite-loader') .loader('svg-sprite-loader') .Optionen({ symbolId: 'Symbol-[Name]' }) } } Hier sind zwei über chainWebpack vorgenommene Konfigurationen:
Erstellen einer neuen SymbolkomponenteErstellen Sie eine neue Datei SvgIcon.vue im Komponentenverzeichnis: <Vorlage> <i Klasse="Symbol"> <!-- aria-hidden, um Menschen mit Behinderungen das Lesen zu erleichtern (das Gerät überspringt dieses Tag beim Lesen des Inhalts, um Verwirrung zu vermeiden) --> <svg aria-hidden="true" :width="size" :height="size" :fill="fillColor"> <use :xlink:href="iconName" rel="external nofollow" ></use> </svg> </i> </Vorlage> <script lang="ts"> importiere { PropType, toRefs } von 'vue' Standard exportieren { Requisiten: { Größe: { Typ: Zahl als PropType<Zahl>, Standard: 14 }, Füllfarbe: { Typ: String als PropType<string>, Standard: „#000“ }, Symbolname: Typ: String als PropType<string>, erforderlich: true } }, setup(Eigenschaften: beliebig) { const { Größe, Füllfarbe, Symbolname: _Symbolname } = toRefs(Eigenschaften) const iconName = `#${_iconName.value}` zurückkehren { Größe, Füllfarbe, Symbolname } } } </Skript> Erstellen Sie dann ein neues Symbolverzeichnis und eine neue Indexdatei, die an die Komponente angehängt wird, und importieren Sie das SVG-Symbol: // index.ts Importiere SvgIcon aus '@/components/SvgIcon.vue' importiere { App } von 'vue' exportiere Standard (App: App) => { app.component('svg-icon', SvgIcon) } const ctx = require.context('./svg', false, /\.svg$/) const requestAll = (ctx: __WebpackModuleApi.RequireContext) => ctx.keys().forEach(ctx) AnfrageAlle(ctx) //main.ts importiere { createApp } von 'vue' App aus „./App.vue“ importieren importiere installSvgIcon aus '@/icons/index' const app = createApp(App) installSvgIcon(App) app.mount('#app') Diese Datei hat zwei Aufgaben:
Verwenden von KomponentenZuerst müssen wir die SVG-Symboldatei im Verzeichnis icons/svg speichern (suchen Sie die gewünschte Datei auf iconfont). Dann können Sie es woanders verwenden: <Vorlage> <img alt="Vue-Logo" src="./assets/logo.png"> <svg-icon Symbolname="Symbol-Dashboard"></svg-icon> <HelloWorld msg="Willkommen bei Ihrer Vue.js + TypeScript-App"/> </Vorlage> Führen Sie es direkt über die Komponente SVG-Icon ein und übergeben Sie dann den Icon-Namen. Der Wert des Icon-Namens besteht aus dem mit dem SVG-Dateinamen verknüpften Icon. ZusammenfassenDiese benutzerdefinierte Methode zum Einführen von SVG-Symbolen ist recht praktisch. Wenn Sie ein Symbol hinzufügen möchten, können Sie dies in wenigen Schritten tun:
Es ist jedoch nicht sehr praktisch, den Stil über CSS zu ändern. Damit ist der Artikel zum Einführen von Symbolen auf Grundlage der benutzerdefinierten Komponenten von Vue abgeschlossen. Weitere Informationen zu den benutzerdefinierten Symbolkomponenten von Vue 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:
|
<<: Lösung für Verbindungsfehler beim MySQL-Server 5.5
>>: So erweitern Sie die Festplattenpartition für das CentOS-System
1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...
In diesem Artikel wird der spezifische Code der L...
Die Verwendung von depends_on zum Sortieren von C...
Inhaltsverzeichnis Vorwort 👀 Beginnen Sie mit der...
Inhaltsverzeichnis $nächsterTick() $forceUpdate()...
Es ist sehr wichtig, den Betriebsstatus von Conta...
Der zu erzielende Effekt ist: Festes Vergrößern a...
Einige Freunde haben beim Erlernen von Datenbanke...
Finden Sie das Problem Als ich heute versuchte, d...
Code <div Klasse="Test"> <div&...
1. Bereiten Sie die Java-Umgebung vor, jdk1.8 Übe...
Verschlüsselung und Entschlüsselung sind wichtige...
1. Laden Sie die 64-Bit-ZIP-Datei von der offizie...
Inhaltsverzeichnis 1. Einführung in die PID-Datei...
<br />Dies ist nicht nur ein Zeitalter der I...