Icon-Icon-VerarbeitungslösungDas Ziel dieses Datensatzes besteht darin, aufzuzeichnen, wie andere Symbole als Element-Plus in eine Komponente eingekapselt werden können. Ich hoffe, es kann mir bei der Lösung von Symbolproblemen bei der Arbeit helfen. Die Analyse zeigt, dass Element-Plus-Symbole über El-Icon angezeigt werden können, während benutzerdefinierte Symbole eine benutzerdefinierte Symbolkomponente erfordern, um benutzerdefinierte SVG-Symbole anzuzeigen. Komponentenfunktionen
Verpackungsideen für SymbolkomponentenSymbolkomponente zur Anzeige Erstellen Sie <Vorlage> <div v-if="istExternal" :Stil="StilExternesSymbol" Klasse = "svg-external-icon svg-icon" :Klasse="Klassenname" /> <svg v-else class="svg-icon" :Klasse="Klassenname" aria-hidden="true"> <use :xlink:href="iconName" rel="external nofollow" /> </svg> </Vorlage> <Skript-Setup> importiere { isExternal als extern } von '@/utils/validate' importiere { defineProps, berechnet } von 'vue' const props = defineProps({ //Symbol Symbol: { Typ: Zeichenfolge, erforderlich: true }, // Name der Symbolklasse className: { Typ: Zeichenfolge, Standard: '' } }) /** * Bestimmen Sie, ob es sich um ein externes Symbol handelt*/ const isExternal = berechnet(() => extern(props.icon)) /** * Externer Symbolstil */ const styleExternalIcon = berechnet(() => ({ Maske: `url(${props.icon}) no-repeat 50% 50%`, „-webkit-mask“: „url(${props.icon}) keine Wiederholung 50 % 50 %“ })) /** * Projektsymbol */ const iconName = berechnet(() => `#icon-${props.icon}`) </Skript> <style lang='scss' scoped> .svg-Symbol { Breite: 1em; Höhe: 1em; vertikale Ausrichtung: -0,15em; füllen: aktuelle Farbe; Überlauf: versteckt; } .svg-external-icon { Hintergrundfarbe: aktuelle Farbe; Maskengröße: Abdeckung !wichtig; Anzeige: Inline-Block; } </Stil> Bestimmen Sie, ob es sich bei der Ressource um eine externe Ressource handelt Erstellen Sie /** * Bestimmen Sie, ob es sich um eine externe Ressource handelt*/ Exportfunktion isExternal(Pfad) { return /^(https?:|mailto:|tel:)/.test(Pfad) } Externe SVG-SymbolanzeigeDurch die Einführung der Komponente svg-icon übergibt icon den externen Link zum Icon. <span class="svg-container"> <svg-Symbol Symbol="https://xxx.svg"></svg-Symbol> </span> Verarbeiten von SVG-Symbolen in Projekten
Dateien haben zwei Aufgaben
Der index.js-Code lautet wie folgt Referenzdokument Abhängigkeitsverwaltung | webpack Chinesische Dokumentation importiere SvgIcon aus '@/components/SvgIcon' // Erstellen Sie Ihren eigenen Kontext mit der Funktion require.context() const svgRequire = require.context('./svg', false, /\.svg$/) // An dieser Stelle wird eine Require-Funktion zurückgegeben, welche einen Request-Parameter für den Require-Import entgegennehmen kann. // Diese Funktion bietet drei Eigenschaften und Sie können alle SVG-Symbole über require.keys() abrufen. // Durchlaufen Sie die Symbole und übergeben Sie die Symbole als Anforderungen an die Funktion „Require Import“, um den Import der lokalen SVG-Symbole abzuschließen. svgRequire.keys().forEach(svgIcon => svgRequire(svgIcon)) Standard-App exportieren => { app.component('svg-icon', SvgIcon) } Weltweit registrierte ProjektsymboleImportieren Sie diese Datei in main.js ... // svgIcon importieren importiere installIcons aus '@/icons' ... installIcons(App) ... Internes Symbol verwenden// Benutzername <svg-icon icon="user" /> // Passwort<svg-icon icon="password" /> Verwenden Sie Installieren: Konfigurieren Sie const Pfad = require('Pfad') Funktion „resolve(dir)“ { return path.join(__dirname, dir) } modul.exporte = { chainWebpack(Konfiguration) { // SVG-Sprite-Loader einrichten Konfigurationsmodul .regel('svg') .exclude.add(auflösen('src/icons')) .Ende() Konfigurationsmodul .regel('Symbole') .prüfung(/\.svg$/) .include.add(auflösen('src/icons')) .Ende() .verwenden('svg-sprite-loader') .loader('svg-sprite-loader') .Optionen({ symbolId: 'Symbol-[Name]' }) .Ende() } } Dadurch wird das interne SVG-Symbol verarbeitet. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Beispiele für die Verwendung von HTML-Marquee-Tags
>>: Installations- und Verwendungsschritte für Docker Compose
In der fünften Ausgabe von Web Skills wird ausdrü...
Inhaltsverzeichnis Vorwort 1. Konfigurieren Sie d...
Fügen Sie secure_file_priv = ' '; führen ...
Dieser Artikel veranschaulicht anhand von Beispie...
1. Laden Sie zunächst die entsprechende Datenbank...
RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...
Jeder, der schon einmal Windows Remote Desktop zu...
Inhaltsverzeichnis Hintergrund Was ist Tablespace...
Software- und Hardwareumgebung centos7.6.1810 64b...
Inhaltsverzeichnis Vorwort 1. DDL 1.1 Datenbankop...
Ich habe vor Kurzem einen Server mit Tencent Clou...
Inhaltsverzeichnis Vorwort Start Schritt Fehlerbe...
Inhaltsverzeichnis Was ist MySQL NDB Cluster? Vor...
1. Nehmen Sie nginx als Beispiel Nginx mit dem Be...
1. Einführung in nmon Nmon (Nigel's Monitor) ...