Vue3 kapselt die Textskelett-Effektkomponente der Seitennavigation

Vue3 kapselt die Textskelett-Effektkomponente der Seitennavigation

Vue3-Projektkapselung Seitennavigation Textskeletteffektkomponente - globale Kapselung. Zu Ihrer Information sind die spezifischen Inhalte wie folgt

Zweck

Beim 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.
Legen Sie einige Eigenschaften offen: Höhe, Breite, Hintergrund, ob eine Flash-Animation vorhanden ist.

- 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.

Landecode

1. 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.js

importiere { 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 verwenden

Bei 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
2. Konfigurieren Sie Vue-Plugins und konfigurieren Sie globale Komponenten
3. Importieren Sie die Eingabedatei und konfigurieren Sie das UI-Komponentenbibliothek-Plugin
4. Verwenden Sie Skelett-Bildschirmkomponenten, um Platz in der Kategorieliste einzunehmen

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:
  • mpvue realisiert die Verknüpfung zwischen linker Navigation und rechtem Inhalt
  • Implementierungscode für das mehrstufige Seitennavigations-Umschaltrouting (Seite) von Vue + Vue Router

<<:  Führen Sie die Schritte für die Trennung von Nginx-Proxy-Frontend und Backend mit demselben Domänennamen aus.

>>:  So installieren Sie den Kibana-Tokenizer im Docker-Container

Artikel empfehlen

js, um die Funktion zum Hochladen von Bildern zu realisieren

Das Prinzip des Hochladens von Bildern auf dem Fr...

Details und Beispielcode der MySQL-Replikationstabelle

Detaillierte Erklärung der MySQL-Replikationstabe...

Nginx kompiliert nginx - neues Modul hinzufügen

1. Vorhandene Module anzeigen /usr/local/nginx/sb...

Hauptfunktionen von MySQL Innodb: Einfügepuffer

Inhaltsverzeichnis Was ist ein Einfügepuffer? Was...

Mehrere häufig verwendete Single-Page-Anwendungswebsite-Sharing

CSS3Bitte Schauen Sie sich diese Website selbst a...

Installation der virtuellen Maschine Kali Linux Vmware (Abbildung und Text)

Vorbereitung: 1. Installieren Sie die VMware Work...

Teilen Sie 101 MySQL-Debugging- und Optimierungstipps

MySQL ist eine leistungsstarke Open-Source-Datenb...

MySQL verwendet Aggregatfunktionen zum Abfragen einer einzelnen Tabelle

Aggregatfunktionen Wirkt auf einen Datensatz ein ...

So verwenden Sie Umgebungsvariablen in der Nginx-Konfigurationsdatei

Vorwort Nginx ist ein auf Leistung ausgelegter HT...