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 diesem Artikel werden MySQL-Protokolle sowie B...
Inhaltsverzeichnis 1. Statische Implementierungsm...
Machen Sie einen leeren Bereich für Taobao: Wenn ...
Inhaltsverzeichnis Wie erstelle ich einen Pod? We...
Als ich kürzlich Django lernte, musste ich eine D...
Es gibt drei Möglichkeiten, Farben in HTML darzust...
In diesem Artikel wird der spezifische Code von J...
Das Span-Tag wird häufig beim Erstellen von HTML-...
Auf dem Server läuft ein Taskprozess. Wenn wir ih...
Inhaltsverzeichnis Die benutzerdefinierte CSS-Var...
Frage Der Code hat keine Eingabeaufforderung: Vie...
Lösung für Host „xxxx“ darf keine Verbindung zu d...
Unter den Anforderungen des heutigen responsiven ...
Die Methode hasOwnProperty() des Objekts gibt ein...
Vorwort Die Schlüsselwörter von MySQL und Oracle ...