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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.27

Das Installationstutorial für MySQL 5.7.27 wird w...

Eine vollständige Liste häufig verwendeter Linux-Befehle (empfohlene Sammlung)

Inhaltsverzeichnis 1. Systeminformationen 2. Shut...

Zwei Möglichkeiten zur Implementierung von Square Div mit CSS

Ziel: Erstelle ein Quadrat, dessen Seitenlänge gl...

So ändern Sie das Root-Benutzerkennwort in MySQL 8.0.16, WinX64 und Linux

Grundlegende Vorgänge wie die Verbindung zur Date...

Detailliertes Tutorial zur Installation von ElasticSearch 6.x im Docker

Ziehen Sie zuerst das Image (oder erstellen Sie e...

Drei Möglichkeiten zum Sperren und Entsperren von Benutzerkonten in Linux

Wenn in Ihrer Organisation bereits eine Kennwortr...

JS implementiert das Baidu-Suchfeld

In diesem Artikelbeispiel wird der spezifische JS...