{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}Dies ist eine Kerntechnik für die Skripterstellung bei der Verwendung von Modulo: Erstellen Sie Funktionen, mit denen Sie den Status mithilfe von JavaScript ändern können. In diesem Fall führt es einen sehr einfachen Vorgang aus: „Dieses Monster für später speichern“. Genauer gesagt weist es der gegebenen Nutzlast die Zustandsvariable „ausgewählt“ zu. Auf diese Weise wird die Statusvariable „ausgewählt“ zu einer Art „Versteck“ für das Monster, das gerade aus der API ausgewählt wurde.
Fügen wir nun ein weiteres Puzzleteil hinzu: das Anhängen des Klickereignisses. Siehe unten:
Dies wurde mit der Ereignisanhangssyntax (@click:=) durchgeführt, in diesem
Fall) und ein Payload-Attribut, mit dem wir das von uns ausgewählte Monster weitergeben können, indem wir auf dieses Bild klicken. Ereignisse und Skript-Tags können ein verwirrendes Thema sein, wenn Sie neu in JavaScript sind (und selbst wenn Sie es nicht sind!), also sehen Sie sich die Beispiele auf dieser Seite an, um weitere Beispiele für die Verwendung von Skript-Komponententeilen und das Anhängen von Ereignissen zu erhalten.
Zum Schluss rendern wir die Monsterinformationen bedingt, wenn ein Monster ausgewählt wird:
{% if state.selected %}{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}
Dadurch wird zunächst die „Willkommen“-Nachricht angezeigt (da state.selected mit null beginnt). Sobald dann jemand auf ein Monsterbild klickt, ist die Variable state.selected nicht mehr null und
Stattdessen werden die Inhalte mit den Tags h1 und p formatiert angezeigt, wobei einige Optimierungen vorgenommen wurden (|capfirst macht den ersten Buchstaben groß).
Alles kombinierend, packen wir dann alles in ein display: Grid, um das Side-by-Side-Layout zu erstellen, und ein overflow: auto zum linken div der Bildlaufleiste. Schließlich können wir dem zweiten Div noch ein paar abschließende CSS-Optimierungen hinzufügen (Auffüllung, Rand und einen linearen Farbverlauf) und erhalten die folgenden Ergebnisse, die überall eingebettet werden können:
{% for monster in staticdata.data %}{% endfor %}
{% if state.selected %}{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}
Ich hoffe, Ihnen hat dieses Tutorial gefallen. Wenn ja, folgen Sie uns für weitere solcher Tutorials!
","image":"http://www.luping.net/uploads/20241102/173050560767256b87e2a15.png","datePublished":"2024-11-08T21:33:11+08:00","dateModified":"2024-11-08T21:33:11+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Hallo zusammen! Nach einer Sommerpause bin ich mit den Modulo-Tutorials zurück. Ich habe noch eine Menge weiterer Tutorials in Arbeit – also bleiben Sie dran. Wenn Sie jedoch besondere Ideen für mein nächstes Thema haben, lassen Sie es mich unbedingt in den Kommentaren wissen!
Mein letztes Tutorial war ein superschnelles und unterhaltsames „nur HTML, kein JS“-Tutorial zur API-gesteuerten Pokémon Dance Party-Komponente in weniger als 30 Zeilen HTML-Webkomponentencode. Einige meiner vorherigen Tutorials waren etwas ernster, wie zum Beispiel dieses fortgeschrittenere Tutorial zur Verwaltung des privaten und öffentlichen Staates. Wenn das etwas trocken klingt, dann haben Sie Glück, denn das heutige Tutorial ist wieder einmal unterhaltsam und handelt von einem weiteren beliebten Videospiel ... Zelda: Breath of the Wild!
Natürlich sind die in diesem Tutorial erlernten Techniken wie immer auf jede API anwendbar, also lesen Sie weiter, um mehr über eine API-gesteuerte Galerie zu erfahren!
Dieses Tutorial ist zu 100 % der wunderbaren kostenlosen, MIT-lizenzierten und großzügig gehosteten Hyrule Compendium API von Aarav Borthakur zu verdanken, einer unterhaltsamen, von Fans gepflegten Datenbank und API zum Abrufen von Zelda: Breath of the Wild-Franchise-Informationen und Medien. Wir werden den Endpunkt „Monsters“ verwenden, der hier verfügbar ist: https://botw-compendium.herokuapp.com/api/v3/compendium/category/monsters
Jetzt ausprobieren, in weniger als 30 Sekunden: ??? Möchten Sie weitermachen? Scrollen Sie bis zum Ende, kopieren Sie die 39 Zeilen HTML-Code in eine beliebige lokale HTML-Datei und öffnen Sie sie dann in Ihrem Browser. Modulo hat keine Abhängigkeiten und läuft sogar eingebettet in lokale HTML-Dateien, also ist es wirklich so einfach!
Beginnen wir mit nur 6 Codezeilen, mit StaticData und einer Vorlage zur Anzeige:
API DATA: {{ staticdata|json:2 }}
In diesem Snippet haben wir eine sehr einfache, einzeilige
Versuchen Sie, dieses Snippet auszuführen. Sehen Sie die resultierenden Daten? Wir müssen das mit einer for-Schleife durchlaufen.
Da wir nun sehen können, dass ein Attribut .data ein Array von Objekten enthält, durchlaufen wir es und generieren eine Galerie:
{% for monster in staticdata.data %}{% endfor %}
Dadurch werden viele IMG-Tags generiert, von denen jedes einen src= hat, der den „Bild“-Eigenschaften der Objekte im ursprünglichen JSON-Array und dem {% für %} zugewiesen ist. template-tag ist die Syntax, um ein bisschen HTML für jedes Element im Array zu duplizieren (ganz zu schweigen von jedem Index, z. B. einer Zahl, die von 0 aufwärts zählt). Zur weiteren Übung finden Sie in Teil 4 des Modulo.js-Tutorials viele interaktive Beispiele für die for-Schleife.
Als nächstes müssen wir ein neues Script-Tag erstellen, mit dem wir eine einfache, einzeilige JavaScript-Funktion schreiben können:
Dies ist eine Kerntechnik für die Skripterstellung bei der Verwendung von Modulo: Erstellen Sie Funktionen, mit denen Sie den Status mithilfe von JavaScript ändern können. In diesem Fall führt es einen sehr einfachen Vorgang aus: „Dieses Monster für später speichern“. Genauer gesagt weist es der gegebenen Nutzlast die Zustandsvariable „ausgewählt“ zu. Auf diese Weise wird die Statusvariable „ausgewählt“ zu einer Art „Versteck“ für das Monster, das gerade aus der API ausgewählt wurde.
Fügen wir nun ein weiteres Puzzleteil hinzu: das Anhängen des Klickereignisses. Siehe unten:
Dies wurde mit der Ereignisanhangssyntax (@click:=) durchgeführt, in diesem
Fall) und ein Payload-Attribut, mit dem wir das von uns ausgewählte Monster weitergeben können, indem wir auf dieses Bild klicken. Ereignisse und Skript-Tags können ein verwirrendes Thema sein, wenn Sie neu in JavaScript sind (und selbst wenn Sie es nicht sind!), also sehen Sie sich die Beispiele auf dieser Seite an, um weitere Beispiele für die Verwendung von Skript-Komponententeilen und das Anhängen von Ereignissen zu erhalten.
Zum Schluss rendern wir die Monsterinformationen bedingt, wenn ein Monster ausgewählt wird:
{% if state.selected %}{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}
Dadurch wird zunächst die „Willkommen“-Nachricht angezeigt (da state.selected mit null beginnt). Sobald dann jemand auf ein Monsterbild klickt, ist die Variable state.selected nicht mehr null und
Stattdessen werden die Inhalte mit den Tags h1 und p formatiert angezeigt, wobei einige Optimierungen vorgenommen wurden (|capfirst macht den ersten Buchstaben groß).
Alles kombinierend, packen wir dann alles in ein display: Grid, um das Side-by-Side-Layout zu erstellen, und ein overflow: auto zum linken div der Bildlaufleiste. Schließlich können wir dem zweiten Div noch ein paar abschließende CSS-Optimierungen hinzufügen (Auffüllung, Rand und einen linearen Farbverlauf) und erhalten die folgenden Ergebnisse, die überall eingebettet werden können:
{% for monster in staticdata.data %}{% endfor %}
{% if state.selected %}{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}
Ich hoffe, Ihnen hat dieses Tutorial gefallen. Wenn ja, folgen Sie uns für weitere solcher Tutorials!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3