{{ 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 コンポーネントを作成する方法を学びます。
![](/style/images/examples/icon3.png)
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 %}
-
Microsoft Visual C ++が2フェーズテンプレートのインスタンス化を正しく実装できないのはなぜですか?Microsoft Visual Cの「壊れた」2フェーズテンプレートインスタンス化の謎 問題ステートメント: 標準に準拠したコンパイラは、最初のフェーズでfoo(0)コールを解決し、foo(void*)にバインドします。ただし、MSVCはこのプロセスを第2フェーズに延期し、foo(0...プログラミング 2025-02-19に投稿されました
-
mysqlテーブルで列の存在を確実に確認するにはどうすればよいですか?mysqlテーブルの列の存在を決定することは、mysqlの列の存在を決定するため、テーブル内の列の存在が少し困惑する可能性があることを確認することができます。他のデータベースシステム。一般的に試みられた方法: が存在する場合(select * from information_schema...プログラミング 2025-02-19に投稿されました
-
パスワードプロンプトなしでUbuntuにMySQLをインストールするにはどうすればよいですか?Non-Interactive Installation of MySQL on UbuntuThe standard method of installing MySQL server on Ubuntu using sudo apt-get install mysql prompts forコン...プログラミング 2025-02-19に投稿されました
-
\ "while(1)vs。for(;;):コンパイラの最適化はパフォーマンスの違いを排除しますか?\"while(1)vs。for(;;):速度の違いはありますか? は(;;)の代わりに(1)を使用します。 loops? 回答: ほとんどの最新のコンパイラでは、(1)と(;;)。 説明: これらのループがどのように実装されているかのテクニカル分析は次のとおりです。コンパイラー: ...プログラミング 2025-02-19に投稿されました
-
矢印関数がIE11に構文エラーを引き起こすのはなぜですか、そしてそれらを修正するにはどうすればよいですか?なぜ矢印関数はIE 11 で構文エラーを引き起こす理由。 IE 11は矢印関数をサポートせず、構文エラーにつながります。問題のあるコードは、 G.Selectall( "。MainBars")として書き直す必要があります。 .Append( "Te...プログラミング 2025-02-19に投稿されました
-
`exec()` Python 3のローカル変数を更新しますか?そうでない場合は、どのように作成できますか?execのローカル変数への影響: のダイビング、エグゼクティブ関数、動的コード実行のためのPythonステープルは興味深いクエリを提起します:関数内のローカル変数を更新できますか? DiLemma Python 3では、次のコードスニペットは、予想されるようにローカル変数を更新...プログラミング 2025-02-19に投稿されました
-
Pythonの文字列から絵文字を削除する方法:一般的なエラーを修正するための初心者のガイド?emojisをpython emojisの除去する絵文字を削除するための提供されたPythonコードは、構文誤差が含まれているため失敗します。 Unicode文字列は、python 2のu ''プレフィックスを使用して指定する必要があります。さらに、re.unicod...プログラミング 2025-02-19に投稿されました
-
オブジェクトがPythonに特定の属性を持っているかどうかを確認する方法は?メソッドオブジェクト属性の存在を決定するメソッド この問い合わせは、オブジェクト内の特定の属性の存在を検証する方法を求めています。未定義のプロパティにアクセスしようとする試みがエラーを提起する次の例を考えてみましょう: >>> a = SomeClass() >&g...プログラミング 2025-02-19に投稿されました
-
JavaScriptオブジェクトにキーを動的に設定する方法は?JavaScriptオブジェクト変数の動的キーを作成する方法 このSyntax jsObj['key' i] = 'example' 1;は機能しません。正しいアプローチには四角いブラケットが採用されています: var key = 'DYNAMIC_KEY', obj = {...プログラミング 2025-02-19に投稿されました
-
バージョン5.6.5の前にMySQLのタイムスタンプ列を使用してcurrent_timestampを使用することの制限は何でしたか?current_timestampがデフォルトまたはmysqlバージョンの更新条項を持つタイムスタンプ列の制限は、5.6.5より前に、5.6.5より前のmysqlバージョンで、そこにあります。デフォルトのcurrent_timestampまたは更新時の1つのタイムスタンプ列のみを持つようにテ...プログラミング 2025-02-19に投稿されました
-
PHPを使用してXMLファイルから属性値を効率的に取得するにはどうすればよいですか?XMLファイルから属性値をPHP の取得します。提供されている例のような属性を含むXMLファイルを使用する場合: $xml = simplexml_load_file($file); foreach ($xml->Var[0]->attributes() as $att...プログラミング 2025-02-19に投稿されました
-
ポイントインポリゴン検出により効率的な方法:Ray TracingまたはMatplotlib \ 's path.contains_points?Pythonの効率的なポイントインポリゴン検出 ポリゴン内にあるかどうかを決定することは、計算ジオメトリの頻繁なタスクです。このタスクの効率的な方法を見つけることは、多数のポイントを評価する場合に有利です。ここでは、一般的に使用される2つの方法を調査して比較します:Ray TracingとM...プログラミング 2025-02-19に投稿されました
-
char_length()を使用してmysqlの文字列長でデータを並べ替える方法は?string_length(列)を使用する代わりに、mysqlの文字列長に基づいてデータをソートするために、mysql で文字列長でデータを選択する」を選択してください。組み込みchar_length()function length( ] length():文字列で占有されている...プログラミング 2025-02-19に投稿されました
-
なぜ有効なコードにもかかわらず、PHPで入力をキャプチャするリクエストを要求するのはなぜですか?アドレス指定PHP の郵便要求の誤動作: action='' 意図は、テキストボックスから入力をキャプチャし、[送信]ボタンがクリックされたときに表示することです。ただし、出力は空白のままです。 method = "get"がシームレスに動作しますが、meth...プログラミング 2025-02-19に投稿されました
-
HibernateをMySQL列挙列にマッピングするときに列挙値を保存する方法は?hibernateの列挙値を保存:間違った列タイプのトラブルシューティング データ持続性の領域で、データモデル間の互換性を確保する、データベーススキーマ、そしてそれぞれのマッピングが不可欠です。 Javaで列挙されたタイプを操作する場合、冬眠がこれらの酵素を基礎となるデータベースにマッ...プログラミング 2025-02-19に投稿されました
中国語を勉強する
- 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