Приложение для просмотра погоды на VueJS

Создание приложения для просмотра погоды с использованием VueJS может быть отличным способом научиться и продемонстрировать свои навыки работы с VueJS. Далее рассмотрим простое пошаговое руководство по созданию базового приложения для просмотра погоды с использованием VueJS и API OpenWeatherMap.

Для начала нужно зарегистрироваться на сайте OpenWeatherMap для получения бесплатного ключа API, чтобы получать данные о погоде. Замените 'ВАШ_КЛЮЧ' на свой реальный ключ API.

Настройка проекта Vue:

Если вы еще этого не сделали, вы можете создать проект VueJS с помощью Vue CLI:

vue create vue-weather-app

Установка Axios:

Axios — это популярный HTTP-клиент для отправки запросов к API. Вы можете установить его с помощью npm или yarn:

npm install axios
# или
yarn add axios

Создание компонента:

В проекте VueJS создадим новый компонент для приложения. Например, компонент с именем WeatherApp.vue.

<template>
  <div>
    <h1>Погода на улице</h1>
    <input v-model="city" @input="fetchWeather" placeholder="Введите название города" />
    <div v-if="weather">
      <h2>Погода в {{ weather.name }}</h2>
      <p>Температура: {{ weather.main.temp }}°C</p>
      <p>Погода: {{ weather.weather[0].description }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      city: "",
      weather: null,
    };
  },
  methods: {
    async fetchWeather() {
      try {
        const response = await axios.get(
          `https://api.openweathermap.org/data/2.5/weather?q=${this.city}&units=metric&appid=ВАШ_КЛЮЧ`
        );
        this.weather = response.data;
      } catch (error) {
        console.error("Ошибка при получении погоды:", error);
      }
    },
  },
};
</script>

<style>
/* Добавьте ваши стили CSS здесь */
</style>

В этом компоненте есть поле для ввода города, так что при вводе пользователем города и нажатии клавиши Enter выводятся данные о погоде из API OpenWeatherMap.

Включение компонента:

Далее включим компонент WeatherApp в корневой компонент App.vue или в любой другой компонент Vue, где вы хотите его использовать.

<template>
  <div id="app">
    <WeatherApp />
  </div>
</template>

<script>
import WeatherApp from "./components/WeatherApp.vue";

export default {
  components: {
    WeatherApp,
  },
};
</script>

<style>
/* стили CSS здесь */
</style>

Запуск приложения:

npm run serve
# или
yarn serve

Теперь ваше приложение для просмотра погоды должно быть доступно в вашем браузере по адресу http://localhost:8080 (или другому порту, если указано).

Стилизация и улучшения:

Вы можете стилизовать приложение с помощью CSS, добавить обработку ошибок и улучшить пользовательский интерфейс по мере необходимости.

Вот и все! Мы создали базовое приложение для просмотра погоды с использованием VueJS. Не забудьте заменить 'ВАШ_КЛЮЧ' на реальный ключ API OpenWeatherMap, чтобы приложение работало. Вы также можете расширить проект, добавив дополнительные функции, такие как прогноз погоды на 5 дней или погоду по местоположению.

Источник