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
Discuz! Forum verfügt über zahlreiche Konfiguratio...
Im Internet und in vielen Büchern gibt es viele T...
Dieses Tutorial enthält das Installationstutorial...
1.1 Kopieren Sie das Nginx-Installationspaket und...
Ich habe heute mit der Arbeit an meinem Abschluss...
Docker-Lernen https://www.cnblogs.com/poloyy/p/15...
MySQL ist eine relativ einfach zu verwendende rel...
Grundlegende Umgebung Pagoden-Montageservice [Pyt...
Es gibt viele Gründe, warum eine Anwendung langsa...
Inhaltsverzeichnis 1. Was sind Mikroaufgaben? 2. ...
Inhaltsverzeichnis Szenarioanforderungen glibc-Ve...
In diesem Artikelbeispiel wird der spezifische Co...
dieses Schlüsselwort Welches Objekt ruft die Funk...
Wenn der Pfad nach dem Domänennamen auf andere Ve...
Ich habe bereits einige grundlegende CSS-Selektor...