In diesem Projekt lernst du, wie du mithilfe von Vue.js einen flexiblen Skeleton-Screen-Komponenten erstellen kannst. Ein Skeleton Screen ist ein UI-Muster, das eine vereinfachte Version der Benutzeroberfläche vor dem Laden des tatsächlichen Inhalts anzeigt und im Vergleich zu traditionellen Ladeindikatoren eine bessere Benutzererfahrung bietet.
👀 Vorschau
🎯 Aufgaben
In diesem Projekt wirst du lernen:
Wie du mithilfe von Vue.js einen wiederverwendbaren Skeleton-Screen-Komponenten erstellst
Wie du die Struktur des Skeleton Screens basierend auf den bereitgestellten Daten implementierst
Wie du eine Blinkanimation auf die Skeleton-Screen-Elemente anwendest
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
Ein flexiblen Skeleton-Screen-Komponenten mit Vue.js zu erstellen
Dynamische Stile und Klassen auf die Skeleton-Screen-Elemente anzuwenden
Eine Blinkanimationseffekt für den Skeleton Screen zu implementieren
Direkt aus dem Tutorial heraus programmieren.
Projektstruktur einrichten
In diesem Schritt wirst du die Projektdateien und -struktur einrichten. Folge den Schritten unten, um diesen Schritt abzuschließen:
Öffne den Projektordner. Die Verzeichnisstruktur ist wie folgt:
components/list ist die bereitgestellte Listenkomponente.
components/Skeleton ist die Skeleton-Screen-Komponente.
lib ist der Ordner, in dem die Projektabhängigkeiten gespeichert werden.
css ist der Ordner, in dem die Projektstile gespeichert werden.
Klicke auf die Schaltfläche Go Live in der unteren rechten Ecke von WebIDE, um das Projekt auszuführen.
Als Nächstes öffne "Web 8080" oben im VM und aktualisiere es manuell, und du wirst die Seite sehen.
Skeleton-Screen-Komponente erstellen
In diesem Schritt wirst du lernen, wie du die von index.html übergebene Daten paragraph verwenden und die Kenntnisse über Vue rekursive Komponenten kombinieren, um die Schreibweise der Skeleton-Screen-Komponente abzuschließen.
Öffne die Datei components/Skeleton/item.js.
Füge im Variablen ItemTemplate folgenden Code hinzu:
let ItemTemplate = ``;
// TODO
ItemTemplate += `
<div :class="'ske-'+paragraph.type+'-container'">
<div v-for="item in arrIs(paragraph)" :class="classIs(item)" :style="styleIs(item)" >
<item :paragraph="item" :active="active"></item>
</div>
</div>
`;
Dieser Code erstellt die Struktur des Skeleton Screens basierend auf den Daten paragraph.
Im Abschnitt Vue.component("item", {...}) implementiere die folgenden Methoden:
Die Methode arrIs bestimmt, ob die rows- oder cols-Eigenschaft des paragraph-Objekts verwendet werden soll, um die geschachtelten Komponenten zu rendern. Die Methode classIs bestimmt die CSS-Klasse, die auf das Skeleton-Screen-Element angewandt werden soll, basierend auf der type-Eigenschaft. Die Methode styleIs bestimmt die Stile, die auf das Skeleton-Screen-Element angewandt werden sollen, basierend auf den style, rowStyle- und colStyle-Eigenschaften.