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
Hintergrund Ich habe einen Projektdienst, der AWS...
Reproduktion des Problems Alibaba Cloud Server, b...
<meta http-equiv="X-UA-kompatibel" c...
Das mit CLI3 erstellte Vue-Projekt wird als Nullk...
Holen Sie sich die lokale öffentliche IP-Adresse ...
1. Geschäftshintergrund Die Verwendung einer Mask...
Zweck Machen Sie sich mit den Nginx-Modulen ngx_h...
Mit der Multisite-Funktion von WordPress können S...
1. Festplattenpartition: 2. fdisk-Partition Wenn ...
Jeder kennt das Meta-Tag im Weblayout von Desktop...
Inhaltsverzeichnis Vorwort: Implementierungsschri...
Ich habe eine Navigationsleiste mit einem erweite...
Das Herunterladen dieser Datenbank nimmt viel Zei...
Fehlermeldung: FEHLER 2002: Verbindung zum lokale...
Als ich heute Abend nach dem Abendessen meinen La...