「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Vue の学習パート 天気アプリの構築

Vue の学習パート 天気アプリの構築

2024 年 11 月 5 日に公開
ブラウズ:991

Learning Vue Part Building a weather app

Vue.js に飛び込むのは、直感的で柔軟性があり、驚くほど強力な、DIY キットの新しいお気に入りツールを発見するようなものです。 Vue を実際に使ってみた最初のサイド プロジェクトは天気予報アプリでした。このアプリは、フレームワークの機能や Web 開発全般について多くのことを教えてくれました。これまでに私が学んだことは次のとおりです。

1. Vue 入門: シンプルさとパワーの融合

Vue.js について最初に印象に残ったことの 1 つは、立ち上げて実行するのがいかに簡単かということです。多くのセットアップと構成を必要とする他のフレームワークとは異なり、Vue は非常に簡単でした。必要なのは Vue を組み込むための script タグだけで、レースに出発することができました。

天気予報アプリでは、Vue の createApp 関数を使用してアプリケーションをキックスタートしました:

const { createApp, ref } = Vue;

createApp({
    setup() {
        const locationValue = ref('');
        const responseMessage = ref(null);
        const selectedHourlyForecast = ref([]);
        const selectedFutureForecast = ref([]);
        // More code here...
    }
}).mount("#app")

このアプローチはクリーンであり、すべてを 1 か所に保持するため、アプリケーションの状態とロジックの管理が容易になります。

2. リアクティブ データ バインディング: ref の魔法

Vue の反応性システムは、その傑出した機能の 1 つです。 ref を使用することで、データをリアクティブにすることができました。つまり、データに変更が加えられると DOM が自動的に更新されます。たとえば、ユーザーが場所を送信すると、DOM を手動で操作しなくても気象データが取得されて表示されます。

const locationValue = ref('');
const responseMessage = ref(null);

const submitLocation = async () => {
    try {
        const response = await fetch(`http://api.weatherapi.com/v1/forecast.json?key=${APIKEY}&q=${locationValue.value}&days=6&aqi=no&alerts=no`);
        const result = await response.json();
        responseMessage.value = result;
    } catch (error) {
        console.log("An error occurred while fetching weather data", error);
        alert("Location not found");
    }
};

データの変更に基づいた UI のシームレスな更新により、Vue.js はインタラクティブなアプリケーションの構築において非常に強力になります。

3. 条件付きレンダリング: 必要なものだけを表示

v-if や v-else などの Vue のディレクティブを使用すると、データの状態に基づいて要素を条件付きでレンダリングすることが簡単になります。私の天気アプリでは、次のディレクティブを使用して、気象データが利用可能な場合にのみ表示します:

{{responseMessage.current.temp_c}}°C
{{responseMessage.location.name}}, {{responseMessage.location.country}}
N/A °C
No location present

この種の条件付きレンダリングにより、アプリがクリーンで有益な状態を保ち、必要なときに必要なものだけをユーザーに表示します。

4. ユーザー入力の処理: v-model の力

v-model ディレクティブを使用すると、Vue.js でのユーザー入力の処理が簡単になります。私のアプリでは、v-model を使用して入力フィールドを locationValue 変数に直接バインドし、リアクティブにしてデータをユーザーの入力と同期させました:

このシンプルなバインディングにより、手動イベント リスナーの必要性がなくなり、定型コードが削減され、アプリケーションの保守性が向上しました。

5. 気象データの分解: v-for を使用した反復処理

Vue の v-for ディレクティブを使用すると、1 時間ごとの天気予報や将来の天気予報などの複数のデータの表示が簡単になりました。これにより、データの配列をループして動的にレンダリングできるようになりました。

{{forecast.temp_c}}°C
{{forecast.condition.text}}
{{forecast.time.slice(11,16)}}

これにより、ユーザーの場所や時刻に応じて、さまざまな数のデータ ポイントを表示できる、柔軟で応答性の高い UI を簡単に作成できるようになりました。

6. エラー処理: 例外をキャッチすることを忘れないでください

API の使用には、ネットワークの問題や無効な場所など、常にエラーが発生する可能性が伴います。 Vue を使用すると、これらのエラーを簡単に適切に処理できるようになり、何か問題が発生したときにアプリがクラッシュしたり燃えたりすることがなくなりました。

catch (error) {
    console.log("An error occurred while fetching weather data", error);
    alert("Unable to retrieve weather details");
}

これにより、予期せぬ状況に対処できる堅牢なアプリケーションを作成する際のエラー処理の重要性を理解することができました。

まとめ

Vue.js を使用してこの天気アプリを構築することは、啓発的な経験でした。アプリケーションを構造化し、ユーザー入力に基づいてリアルタイムで更新される応答性の高い UI を作成する方法について多くを学びました。 Vue のシンプルさと柔軟性のおかげで、このプロセスは楽しくなりました。私は、この強力なフレームワークを使って他に何を構築できるかを引き続き探索していきたいと思っています。

Vue.js に飛び込むことを検討している場合は、天気予報アプリのような小さなプロジェクトから始めることを強くお勧めします。実際に使える具体的なものを構築しながら、基本を学ぶのに最適な方法です。

#Vue を学びながら、すぐに構築する次のプロジェクトに注目してください。コーディングを楽しんでください!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/willowjr/learning-vue-part-1-building-a-weather-app-4110?1 侵害がある場合は、[email protected] に連絡して削除してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3