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

HTML-Tutorial: Horizontales Liniensegment in HTML

<br />Dieses Tag kann eine horizontale Linie...

Teilen Sie 101 MySQL-Debugging- und Optimierungstipps

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

vue verwendet Ele.me UI, um die Filterfunktion von Teambition zu imitieren

Inhaltsverzeichnis Problembeschreibung Die allgem...

14 Möglichkeiten zum Erstellen von Website-Inhalten, die Ihre Besucher fesseln

Wenn ich im Internet surfe, sehe ich oft Websites...

Warum wird mir die Zugriffsschnittstelle für Docker Tomcat nicht angezeigt?

Frage: Kann der Ursprungsserver keine Darstellung...

Detaillierte Erläuterung der Überwachung der NVIDIA GPU-Nutzung unter Linux

Bei der Verwendung von TensorFlow für Deep Learni...

Beschreiben Sie kurz die vier Transaktionsisolationsebenen von MySql

Isolationsstufe: Isolation ist komplizierter als ...

JavaScript-Grundlagenobjekte

Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...

Detaillierte Analyse des HTTP-Statuscodes 502 des Dienstes nginx+php-fpm

Bei einem unserer Webprojekte ist aufgrund der Zu...

12 Javascript-Tabellensteuerelemente (DataGrid) sind aussortiert

Wenn die DataSource-Eigenschaft eines DataGrid-Ste...

So ändern Sie das Anfangskennwort eines Benutzers in mysql5.7

Wenn Benutzer MySQL-Datenbanken zum ersten Mal in...

Implementierung der Webpack-Codefragmentierung

Inhaltsverzeichnis Hintergrund CommonsChunkPlugin...

Das Konzept von MTR in MySQL

MTR steht für Mini-Transaktion. Wie der Name scho...