Vue3-Projektkapselung Seitennavigation Textskeletteffektkomponente - globale Kapselung. Zu Ihrer Information sind die spezifischen Inhalte wie folgt ZweckBeim Anzeigen einer Seite müssen einige Daten aus dem Hintergrund geladen werden. Wenn das Netzwerk nicht gut ist, müssen Sie möglicherweise warten. In diesem Fall können Sie eine blinkende Skelett-Animation erstellen, um das Benutzererlebnis zu verbessern. Allgemeine Schritte - Es wird eine Komponente benötigt, die als Platzhalter dient. Diese Platzhalterkomponente hat einen Fachbegriff: Skeleton-Screen-Komponente. - Dies ist eine öffentliche Komponente, die global registriert werden muss. In Zukunft wird empfohlen, solche Komponenten im Vue-Plugin zu definieren. - Verwenden Sie Komponenten, um den Klassifizierungsskeletteffekt auf der linken Seite zu vervollständigen. Landecode1. Verpackungskomponenten<Vorlage> <div class="skelett" :style="{width,height}" :class="{shan:animated}"> <!-- 1 Schachtel --> <div Klasse="block" :style="{backgroundColor:bg}"></div> <!-- 2 Blitzeffekt-XTX-Skelett-Pseudoelemente---> </div> </Vorlage> <Skript> Standard exportieren { Name: 'Skelett', // Bei Verwendung müssen Sie Höhe, Breite und Hintergrundfarbe dynamisch festlegen und angeben, ob Requisiten blinken sollen: { bg: { Typ: Zeichenfolge, Standard: „#efefef“ }, Breite: { Typ: Zeichenfolge, Standard: „100px“ }, Höhe: Typ: Zeichenfolge, Standard: „100px“ }, animiert: Typ: Boolean, Standard: false } } } </Skript> <style scoped lang="weniger"> .skelett { Anzeige: Inline-Block; Position: relativ; Überlauf: versteckt; vertikale Ausrichtung: Mitte; .block { Breite: 100 %; Höhe: 100%; Rahmenradius: 2px; } } .shan &::nach { Inhalt: ""; Position: absolut; Animation: Shan 1,5 s Leichtigkeit 0 s unendlich; oben: 0; Breite: 50%; Höhe: 100%; Hintergrund: linearer Farbverlauf( nach links, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0,3) 50 %, rgba(255, 255, 255, 0) 100 % ); transformieren: skewX(-45 Grad); } } @keyframes shan { 0% { links: -100%; } 100 % { links: 120 %; } } </Stil> 2. Verpackungs-Plugin// Erweitern Sie die ursprünglichen Funktionen von Vue: globale Komponenten, benutzerdefinierte Anweisungen, Mounten von Prototypmethoden, Hinweis: Es gibt keinen globalen Filter. // Dies ist das Plugin // Vue2.0-Plugin schreibt Elemente: Exportiere ein Objekt, habe eine Installationsfunktion, übergebe standardmäßig den Vue-Konstruktor und erweitere auf der Grundlage von Vue // Vue3.0-Plugin schreibt Elemente: Exportiere ein Objekt, habe eine Installationsfunktion, übergebe standardmäßig die App-Anwendungsinstanz und erweitere auf der Grundlage der App. Importiere Skeleton aus „./skeleton.vue“. Standard exportieren { installieren (App) { // Erweitern Sie die App, die App bietet eine Komponentendirektivfunktion // Wenn Sie den Prototypen mit der Methode app.config.globalProperties mounten möchten, app.component(Skeleton.name, Skeleton) } } 3. Globale Registrierung in der Eintragsdatei main.jsimportiere { createApp } von 'vue' App aus „./App.vue“ importieren importiere MyUI aus „./components/library“ // Um das Plugin zu verwenden, verwenden Sie app.use(plugin) in main.js createApp(App).verwenden(store).verwenden(Router).verwenden(MyUI).mount('#app') 4. Komponenten in Projektkomponenten verwendenBei der Verwendung von Komponenten werden sich gegenseitig ausschließende v-if- und v-else-Befehle dort verwendet, wo der Skeletteffekt gewünscht wird. Beim Einkapseln einer Komponente werden die vier Parameter width, height, bg und animation intern über die benutzerdefinierten Eigenschaften props empfangen. Bei Verwendung der Komponente können Sie die entsprechenden Werte entsprechend den Szenenanforderungen übergeben. Der Code lautet wie folgt <span v-else> <Skelett Breite="60px" Höhe="18px" Stil="Rand rechts:5px" bg="rgba(255,255,255,0.2)" :animiert="true" /> <Skelett Breite="50px" Höhe="18px" bg="rgba(255,255,255,0.2)" :animiert="true" /> </span> Wirkung Zusammenfassen 1. Kapseln Sie Skelett-Bildschirm-Zellkomponenten 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:
|
>>: So installieren Sie den Kibana-Tokenizer im Docker-Container
<br />Dieses Tag kann eine horizontale Linie...
MySQL ist eine leistungsstarke Open-Source-Datenb...
Inhaltsverzeichnis Problembeschreibung Die allgem...
Dieser Artikel zeichnet das Installations-Tutoria...
Wenn ich im Internet surfe, sehe ich oft Websites...
Frage: Kann der Ursprungsserver keine Darstellung...
Bei der Verwendung von TensorFlow für Deep Learni...
Isolationsstufe: Isolation ist komplizierter als ...
Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...
Bei einem unserer Webprojekte ist aufgrund der Zu...
Wenn die DataSource-Eigenschaft eines DataGrid-Ste...
Wenn Benutzer MySQL-Datenbanken zum ersten Mal in...
Inhaltsverzeichnis Hintergrund CommonsChunkPlugin...
Installieren Sie mysql5.7.21 in der Fensterumgebu...
MTR steht für Mini-Transaktion. Wie der Name scho...