{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% それ以外 %}ハイラル モンスター ガイドへようこそ!
←詳細を確認するにはモンスターを選択してください
{% endif %}このチュートリアルを楽しんでいただければ幸いです。もしそうなら、このような続きをフォローしてください! {% 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 %}
","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"}}
API を使用したゼルダ BOTW モンスター ギャラリー Web コンポーネントを作成する方法を学びます。
Modulo チュートリアルが戻ってきました!
皆さんこんにちは!夏休みの後、Modulo チュートリアルに戻ってきました。さらに多くのチュートリアルを準備中ですので、楽しみにしていてください。とはいえ、次のトピックに関する特定のアイデアがある場合は、必ずコメント欄でお知らせください。
私の最後のチュートリアルは、30 行未満の HTML Web コンポーネント コードで構成される、API 駆動のポケモン ダンス パーティー コンポーネントに関する非常に迅速で楽しい「HTML のみ、JS なし」チュートリアルでした。以前のチュートリアルの一部は、プライベート状態とパブリック状態の管理に関するこのより高度なチュートリアルなど、もう少し本格的なものでした。少し無味乾燥に聞こえるかもしれませんが、それは幸運です。なぜなら、今日のチュートリアルはもう 1 つの楽しいチュートリアルであり、もう 1 つの人気のあるビデオ ゲームについてのものだからです...ゼルダ: ブレス オブ ザ ワイルド!
もちろん、いつものように、このチュートリアルで学んだテクニックはあらゆる API に適用できるので、読み続けて API 主導のギャラリーについてさらに学びましょう!
ハイラル コンペンディアム API の使用方法
このチュートリアルは 100%、素晴らしい Aarav Borthakur の無料で MIT ライセンスを取得し、寛大にホストされている Hyrule Compendium API のおかげです。これは、ファンが管理する楽しいデータベースと、ゼルダ: ブレス オブ ザ ワイルド フランチャイズ情報を取得するための API であり、メディア。ここで入手可能な「Monsters」エンドポイントを使用します: https://botw-compendium.herokuapp.com/api/v3/compendium/category/monsters
スクリーンショット
今すぐ 30 秒以内にお試しください: ???先に進みたいですか?最後までスクロールし、39 行の HTML コードをローカル HTML ファイルにコピーし、ブラウザで開きます。 Modulo には依存関係がなく、ローカル HTML ファイルに埋め込まれて実行されるため、非常に簡単です!
データから始める
静的データとそれを表示するテンプレートを含む、たった 6 行のコードから始めましょう:
テンプレート> 静的データ>API DATA: {{ staticdata|json:2 }}
このスニペットには、返された Hyrule Compendium API の staticdata.data プロパティをダンプする、非常に単純な 1 行の があります。 |json:2 フィルターを適用して、より読みやすい形式で表示します。 StaticData は、すぐに JSON (その他の形式) をサポートしており、API に URL を指定するだけで、データの使用を開始できます。 StaticData はわかりにくいですか? GitHub API の統合に関するこのチュートリアルを試すか、Modulo.js チュートリアルの「StaticData」セクションにあるインタラクティブな例を試してみてください。
そのスニペットを実行してみてください。結果のデータが表示されますか? for ループ.
を使用してループする必要があります。画像ギャラリーの作成
属性 .data に Objects の Array が含まれていることがわかりました。それをループしてギャラリーを生成しましょう:
{% for monster in staticdata.data %} {% endfor %}
これにより、多くの img タグが生成されます。各タグには、元の JSON Array 内の Objects の「image」プロパティに割り当てられた src= と、{% for %} が割り当てられます。 template-tag は、配列内のすべての項目 (各 index などは言うまでもありません。たとえば、 0)。さらに練習するために、Modulo.js チュートリアルのパート 4 に for ループのインタラクティブな例が多数含まれています。
ステートとスクリプトの作成
次に行うべき最も重要なことは、新しい Script タグを作成することです。これを使用して、単純な 1 行の JavaScript 関数を作成できます。
これは、Modulo 使用時のスクリプト作成の中核となるテクニックです。JavaScript を使用して状態を変更できる関数を作成します。この場合、「後で使用するためにこのモンスターを保存する」という非常に単純な操作が実行されます。より正確には、状態変数「selected」を指定されたペイロードに割り当てます。このようにして、状態変数「selected」は、API から選択されたモンスターの一種の「隠し場所」になります。
クリックイベントの付加
さて、パズルのもう 1 つのピースを追加しましょう。それは、クリック イベントのアタッチです。以下を参照してください:
これは、イベント添付構文 (@click:=、この例では
) を使用して行われました。
この画像をクリックすることで選択しているモンスターを渡すことができるペイロード属性。イベントとスクリプト タグは、JavaScript を初めて使用する場合 (およびそうでない場合でも) 混乱を招く可能性があるため、スクリプト コンポーネント パーツの使用例とイベントの付加例については、このページの例をよく読んでください。
クリックイベントの付加
最後に、モンスターが選択されたときに条件付きでモンスター情報をレンダリングしましょう:
{% if state.selected %}{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% else %}Welcome to Hyrule Monster Guide!
← Select a monster to learn more
{% endif %}
これにより、最初は「ようこそ」メッセージが表示されます (state.selected が null で始まるため)。その後、誰かがモンスターの画像をクリックするとすぐに、state.selected 変数は null ではなくなり、
代わりに、内容は h1 タグと p タグで書式設定され、いくつかの調整が適用されて表示されます (|capfirst は最初の文字を大文字にします)。
- 埋め込み可能なスニペット
それをすべて組み合わせて、すべてを display: グリッドにラップして横並びレイアウトにし、overflow: auto を左側の div にスクロールバーとして配置します。最後に、2 番目の div にいくつかの最終的な CSS 微調整 (パディング、マージン、線形グラデーション) を追加すると、どこにでも埋め込むことができる次の結果が得られます。
{{ state.selected.name|capfirst }}
{{ state.selected.description }}
{% それ以外 %}ハイラル モンスター ガイドへようこそ!
←詳細を確認するにはモンスターを選択してください
{% endif %}このチュートリアルを楽しんでいただければ幸いです。もしそうなら、このような続きをフォローしてください! {% 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 %}
-
「if」ステートメントを超えて: 明示的な「bool」変換を伴う型をキャストせずに使用できる場所は他にありますか?キャストなしで bool へのコンテキスト変換が可能クラスは bool への明示的な変換を定義し、そのインスタンス 't' を条件文で直接使用できるようにします。ただし、この明示的な変換では、キャストなしで bool として 't' を使用できる場所はどこですか?コン...プログラミング 2025 年 1 月 7 日に公開
-
macOS 上の Django で「ImproperlyConfigured: MySQLdb モジュールのロード中にエラーが発生しました」を修正する方法?MySQL の不適切な構成: 相対パスの問題Django で python manage.py runserver を実行すると、次のエラーが発生する場合があります:ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library...プログラミング 2025 年 1 月 7 日に公開
-
一意の ID を保持し、重複した名前を処理しながら、PHP で 2 つの連想配列を結合するにはどうすればよいですか?PHP での連想配列の結合PHP では、2 つの連想配列を 1 つの配列に結合するのが一般的なタスクです。次のリクエストを考えてみましょう:問題の説明:提供されたコードは 2 つの連想配列 $array1 と $array2 を定義します。目標は、両方の配列のすべてのキーと値のペアを統合する新しい配...プログラミング 2025 年 1 月 7 日に公開
-
MySQL を使用して今日が誕生日のユーザーを見つけるにはどうすればよいですか?MySQL を使用して今日の誕生日を持つユーザーを識別する方法MySQL を使用して今日がユーザーの誕生日かどうかを判断するには、誕生日が一致するすべての行を検索する必要があります。今日の日付。これは、UNIX タイムスタンプとして保存されている誕生日と今日の日付を比較する単純な MySQL クエリ...プログラミング 2025 年 1 月 7 日に公開
-
Bootstrap 4 ベータ版の列オフセットはどうなりましたか?Bootstrap 4 ベータ: 列オフセットの削除と復元Bootstrap 4 は、ベータ 1 リリースで、その方法に大幅な変更を導入しました。柱がオフセットされました。ただし、その後の Beta 2 リリースでは、これらの変更は元に戻されました。offset-md-* から ml-autoBoo...プログラミング 2025 年 1 月 7 日に公開
-
Go で WebSocket を使用してリアルタイム通信を行うチャット アプリケーション、ライブ通知、共同作業ツールなど、リアルタイムの更新が必要なアプリを構築するには、従来の HTTP よりも高速でインタラクティブな通信方法が必要です。そこで WebSocket が登場します。今日は、アプリケーションにリアルタイム機能を追加できるように、Go で WebSo...プログラミング 2025 年 1 月 7 日に公開
-
データ挿入時の「一般エラー: 2006 MySQL サーバーが消えました」を修正するにはどうすればよいですか?レコードの挿入中に「一般エラー: 2006 MySQL サーバーが消えました」を解決する方法はじめに:MySQL データベースにデータを挿入すると、「一般エラー: 2006 MySQL サーバーが消えました。」というエラーが発生することがあります。このエラーは、通常、MySQL 構成内の 2 つの変...プログラミング 2025 年 1 月 7 日に公開
-
特定のプロパティに基づいて JavaScript 配列内のオブジェクトを検索して置換する方法オブジェクトの配列内の特定のプロパティを持つオブジェクトの検索JavaScript では、名前のないオブジェクトの配列から特定のプロパティを検索できます。プロパティ値の一致に基づくオブジェクト。次の配列を考えてみましょう:var array = [ { name:"string 1...プログラミング 2025 年 1 月 6 日に公開
-
MySQL LOAD_FILE 関数がサイレントに失敗するのはなぜですか?LOAD_FILE を使用した MySQL BLOB へのファイルのインポート - トラブルシューティングLOAD_FILE 関数を使用すると、ファイルを読み取り、MySQL にロードできます。塊。ただし、この関数を使用すると、エラー メッセージが表示されないにもかかわらず、ユーザーが問題に遭遇する...プログラミング 2025 年 1 月 6 日に公開
-
JavaScript オブジェクトからキーの配列を効率的に取得するにはどうすればよいですか?オブジェクトから配列としてキーを取得するJavaScript では、さまざまな方法でオブジェクトのキーを配列に抽出できます。 。 for-in ループを使用した提供されたコード スニペットは機能しますが、最も簡潔または効率的なアプローチではない可能性があります。Using Object.keys()...プログラミング 2025 年 1 月 6 日に公開
-
HTML のインライン スタイルを外部 CSS でオーバーライドするにはどうすればよいですか?外部 CSS によるインライン スタイルのオーバーライドインライン スタイルを含む HTML マークアップを操作する場合、これらをオーバーライドする必要がある状況が発生することがあります。外部 CSS を使用したスタイル。ただし、通常の CSS ルールを適用すると、必ずしも意図したとおりに動作すると...プログラミング 2025 年 1 月 6 日に公開
-
Go 言語の Hello WorldGo (Golang) に足を踏み入れたばかりの場合は、いつものように、時代を超越した「Hello, World!」から始めるのが最適です。プログラム。この単純な練習は単なる伝統ではありません。これは、Go のクリーンな構文、強力な標準ライブラリ、および最小限のアプローチを明確に紹介するものです。 ...プログラミング 2025 年 1 月 6 日に公開
-
ローカル パッケージを使用すると、「インポート パスがホスト名で始まらない」というメッセージが表示され、Docker イメージのビルドが失敗するのはなぜですか?ローカル パッケージを使用した Docker イメージのビルド: エラー「インポート パスがホスト名で始まりません」ローカル パッケージを使用すると、「インポート パスがホスト名で始まっていません」というエラーが発生する場合があります。 Dockerfile はベース イメージ golang:onb...プログラミング 2025 年 1 月 6 日に公開
-
図形 - CSS の課題この投稿のすべてのコードは、リポジトリ Github で見つけることができます。 CodeSandbox でビジュアルを確認できます。 CSS経由であらゆる種類の図形を描画 CSSで正方形、台形、三角形、三角、扇形、円、半円、固定幅高さ比、0.5pxの線を描くにはどうすればよいですか...プログラミング 2025 年 1 月 6 日に公開
-
共有ライブラリを作成できますか?Go での共有ライブラリの作成共有ライブラリまたはダイナミック リンク ライブラリ (.so ファイル) を使用すると、別々のプログラムが共通のコードとデータを節約し、メモリを節約し、パフォーマンスを向上させます。 C および C 言語は長い間共有ライブラリの作成をサポートしてきましたが、Go では...プログラミング 2025 年 1 月 6 日に公開
中国語を勉強する
- 1 「歩く」は中国語で何と言いますか? 走路 中国語の発音、走路 中国語学習
- 2 「飛行機に乗る」は中国語で何と言いますか? 坐飞机 中国語の発音、坐飞机 中国語学習
- 3 「電車に乗る」は中国語で何と言いますか? 坐火车 中国語の発音、坐火车 中国語学習
- 4 「バスに乗る」は中国語で何と言いますか? 坐车 中国語の発音、坐车 中国語学習
- 5 中国語でドライブは何と言うでしょう? 开车 中国語の発音、开车 中国語学習
- 6 水泳は中国語で何と言うでしょう? 游泳 中国語の発音、游泳 中国語学習
- 7 中国語で自転車に乗るってなんて言うの? 骑自行车 中国語の発音、骑自行车 中国語学習
- 8 中国語で挨拶はなんて言うの? 你好中国語の発音、你好中国語学習
- 9 中国語でありがとうってなんて言うの? 谢谢中国語の発音、谢谢中国語学習
- 10 How to say goodbye in Chinese? 再见Chinese pronunciation, 再见Chinese learning
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3