当前位置:首页 > VUE

vue实现天气小案例

2026-02-22 01:38:57VUE

Vue实现天气小案例

创建Vue项目

使用Vue CLI创建一个新项目,确保已安装Node.js和npm。

vue create weather-app
cd weather-app
npm install axios

获取天气API

注册并获取免费的天气API密钥,例如使用OpenWeatherMap或和风天气。以下以OpenWeatherMap为例:

vue实现天气小案例

const API_KEY = 'your_api_key';
const API_URL = `https://api.openweathermap.org/data/2.5/weather?q={city}&appid=${API_KEY}&units=metric`;

创建天气组件

src/components下创建Weather.vue文件,包含模板、脚本和样式。

vue实现天气小案例

<template>
  <div class="weather">
    <input v-model="city" placeholder="输入城市名称" @keyup.enter="fetchWeather" />
    <div v-if="weatherData">
      <h2>{{ weatherData.name }}</h2>
      <p>温度: {{ weatherData.main.temp }}°C</p>
      <p>天气: {{ weatherData.weather[0].description }}</p>
      <img :src="`https://openweathermap.org/img/wn/${weatherData.weather[0].icon}@2x.png`" />
    </div>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      city: '',
      weatherData: null
    };
  },
  methods: {
    fetchWeather() {
      axios.get(`https://api.openweathermap.org/data/2.5/weather?q=${this.city}&appid=${API_KEY}&units=metric`)
        .then(response => {
          this.weatherData = response.data;
        })
        .catch(error => {
          console.error('获取天气数据失败:', error);
        });
    }
  }
};
</script>

<style>
.weather {
  text-align: center;
  margin-top: 20px;
}
input {
  padding: 8px;
  margin-bottom: 10px;
}
</style>

在主组件中引入

App.vue中引入并使用Weather组件。

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

<script>
import Weather from './components/Weather.vue';

export default {
  components: {
    Weather
  }
};
</script>

运行项目

启动开发服务器,查看效果。

npm run serve

注意事项

  • 确保替换your_api_key为实际的API密钥。
  • 处理网络请求错误,提供用户友好的提示。
  • 如果需要更复杂的UI,可以添加加载状态或更多天气信息字段。

标签: 天气案例
分享给朋友:

相关文章

vue实现天气界面

vue实现天气界面

实现天气界面的核心步骤 安装依赖与项目初始化 使用Vue CLI或Vite创建项目,安装axios用于API请求。如使用npm:npm install axios 获取天气API密钥 注册开放天气A…

vue实现定位显示天气

vue实现定位显示天气

获取用户地理位置 使用浏览器的Geolocation API获取用户当前位置的经纬度。在Vue中可以通过navigator.geolocation实现,注意处理用户拒绝授权的情况。 methods:…

vue实现时间天气

vue实现时间天气

以下是在Vue中实现时间和天气功能的几种方法: 获取并显示当前时间 使用JavaScript的Date对象获取当前时间,并通过Vue的数据绑定显示: <template>…

react 实现长列表案例

react 实现长列表案例

实现长列表的常用方法 虚拟滚动技术(Virtual Scrolling) 虚拟滚动通过仅渲染当前可视区域内的列表项来提升性能,适合超长列表场景。React生态中常用库如react-window或rea…

jquery案例

jquery案例

以下是几个实用的 jQuery 案例,涵盖常见的前端交互场景,可直接用于项目或学习参考。 动态加载内容(AJAX) 通过 AJAX 从服务器获取数据并动态更新页面,无需刷新: $('#loadDa…

jquery天气插件

jquery天气插件

以下是一些流行的 jQuery 天气插件及其使用方法,供参考: Weather.js Weather.js 是一个轻量级的 jQuery 插件,用于获取和显示天气数据。支持多种天气 API(如 Op…