1. Erstellen Sie ein Vue-Projekt (verwenden Sie CLI zum Erstellen eines Gerüsts. Dieses Testprojekt wird mit Vue CLI4 konfiguriert.) 2. Erstellen Sie eine benutzerdefinierte Komponente Der spezifische Code lautet wie folgt: <Vorlage> <svg :class="svgClass" aria-hidden="true" v-on="$listeners"> <use :xlink:href="iconName" rel="external nofollow" /> </svg> </Vorlage> <Skript> Standard exportieren { Name: "SvgIcon", Requisiten: { Symbolklasse: { Typ: Zeichenfolge, erforderlich: wahr, }, Klassenname: { Typ: Zeichenfolge, Standard: "", }, }, berechnet: { Symbolname() { gibt `#icon-${this.iconClass}` zurück; }, svgClass() { wenn (dieser.Klassenname) { gibt "SVG-Symbol" + diesen Klassennamen zurück; } anders { gibt "SVG-Symbol" zurück; } }, }, }; </Skript> <Stilbereich> .svg-Symbol { Breite: 1em; Höhe: 1em; vertikale Ausrichtung: -0,15em; füllen: aktuelle Farbe; Überlauf: versteckt; } </Stil> 3. Erstellen Sie Symbole im Stammverzeichnis, erstellen Sie eine neue index.js (die später global importiert wird) und erstellen Sie ein neues SVG-Verzeichnis zum Speichern von SVG-Bildern (Informationen zum Herunterladen von SVG finden Sie unter Alibabas Iconfont. Suchen Sie einfach nach Baidu). Der spezifische Code von index.js lautet wie folgt: Vue von „vue“ importieren importiere SvgIcon von '@/components/svgIcon' // SVG-Komponente // global registrieren Vue.component('svg-icon', SvgIcon) const req = require.context('./svg', false, /\.svg$/) const requireAll = requireContext => requireContext.keys().map(requireContext) erfordernAlles(req) 4. Importieren Sie main.js global zur Einführung 5. Zu diesem Zeitpunkt muss das Projekt auch vue.config.js konfigurieren (sonst wird es nicht angezeigt). const Pfad = require('Pfad') modul.exporte = { chainWebpack: Konfiguration => { const svgRule = config.module.rule('svg') svgRule.uses.clear() svgRegel .prüfung(/\.svg$/) .include.add(Pfad.resolve(__dirname, './src/icons')).end() .verwenden('svg-sprite-loader') .loader('svg-sprite-loader') .Optionen({ symbolId: 'Symbol-[Name]' }) const fileRule = config.module.rule('Datei') fileRule.uses.clear() Dateiregel .prüfung(/\.svg$/) .exclude.add(Pfad.auflösen(__dirname, './src/icons')) .Ende() .use('Dateilader') .loader('Dateilader') } } Das ist es; 6. Komponenten im Projekt verwenden Hier verwende ich zur Einführung funktionale Komponenten, die auch durch normale Methoden zur Verwendung von Komponenten eingeführt werden können <Skript> Standard exportieren { funktional: wahr, Requisiten: { Ebene: Typ: Nummer, erforderlich: wahr, }, }, rendern: Funktion (h, Kontext) { konsole.log(Kontext); lass vnodes = []; let { Ebene } = Kontext.Eigenschaften; // vnodes.push(<i class="el-icon-edit" style="width:19px"></i>); vnodes.push(<svg-icon icon-class="date"></svg-icon>); vnodes.push(<span class="span">{level}</span>); vnodes zurückgeben; }, }; </Skript> <Stilbereich> .span { Schriftgröße: 50px; } </Stil> Hinweis: Der Wert der Symbolklasse ist direkt der Dateiname von SVG. Damit ist dieser Artikel über die Schritte zum Einkapseln und Konfigurieren von SVG-Komponenten in Vue-Projekten abgeschlossen. Weitere Informationen zum Einkapseln und Konfigurieren von Vue-SVG-Komponenten 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:
|
<<: Müssen die Texte der Website noch gestaltet werden?
>>: Flex-Anordnung in CSS darstellen (Layouttool)
Das Konzept des relativen Pfades Verwenden Sie de...
Die WEB-Entwicklung besteht hauptsächlich aus zwe...
Docker installiert MySQL Version 8.0.20 zu Ihrer ...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...
Dieser Artikel beschreibt einen Digitaluhreffekt,...
Ergebnisse erzielenImplementierungscode html <...
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis 1. Konstrukteure und Prototype...
for-Schleife Grundlegendes Syntaxformat: für (Var...
1. Objektorientierte Klassenvererbung In den obig...
Vorwort Für Datei- oder Verzeichnisberechtigungen...
Umgebung: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-...
HTML implementiert ein 2-spaltiges Layout mit fes...
Inhaltsverzeichnis 1. Laden Sie nodejs herunter 2...