欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > vue >内容正文

vue

vue+axios天气查询——天知道效果展示及源码分析

发布时间:2024/10/14 vue 98 豆豆
生活随笔 收集整理的这篇文章主要介绍了 vue+axios天气查询——天知道效果展示及源码分析 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

使用vue制作城市的天气查询

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script src="https://unpkg.com/axios/dist/axios.min.js"></script><link rel="stylesheet" href="./index.css"><script src="./index.js"></script> </head><body><!-- 天气查询回车查询1按下回车v-on.enter2查询数据axios接口v-model3渲染数据v-for that点击查询 1点击城市v-on自定义参数2查询数据 this.()方法3渲染数据--><div id="app"><div class="search_form"><div class="logo"><img src="img/logo.png" alt="logo" /></div><div class="form_group"><input type="text" class="input_txt" placeholder="请输入查询的天气" v-model="city" @keyup.enter="searchWeather" /><button class="input_sub" @click="searchWeather">搜 索</button></div><div class="hotkey"><a href="javascript:;" v-for="city in hotCitys" @click="changeCity(city)">{{ city }}</a></div></div><ul class="weather_list"><li v-for="(item,index) in weatherList" :key="item.date" :style="{transitionDelay:index*100+'ms'}"><div class="info_type"><span class="iconfont">{{ item.type }}</span></div><div class="info_temp"><b>{{ item.low}}</b> ~<b>{{ item.high}}</b></div><div class="info_date"><span>{{ item.date }}</span></div></li></ul></div></body></html> window.onload = function() {var app = new Vue({el: '#app',data: {city: '',hotCitys: ['北京', '上海', '广州', '深圳'],weatherList: []},methods: {searchWeather() {// console.log(this.city);var that = thisaxios.get('http://wthrcdn.etouch.cn/weather_mini?city=' + this.city).then(function(res) {// console.log(res.data.data.forecast);that.weatherList = res.data.data.forecast}).catch(function(err) {console.log(err);})},changeCity(city) {this.city = citythis.searchWeather()}}}) } body {font-family: 'Microsoft YaHei'; }body, ul, h1, h2, h3, h4, h5, h6 {margin: 0;padding: 0; }h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: normal; }a {text-decoration: none; }ul {list-style: none; }img {border: 0px; }/* 清除浮动,解决margin-top塌陷 */.clearfix:before, .clearfix:after {content: '';display: table; }.clearfix:after {clear: both; }.clearfix {zoom: 1; }.fl {float: left; }.fr {float: right; }.wrap {position: fixed;left: 0;top: 0;width: 100%;height: 100%;/* background: radial-gradient(#f3fbfe, #e4f5fd, #8fd5f4); *//* background:#8fd5f4; *//* background: linear-gradient(#6bc6ee, #fff); */background: #fff; }.search_form {width: 640px;margin: 100px auto 0; }.logo img {display: block;margin: 0 auto; }.form_group {width: 640px;height: 40px;margin-top: 45px; }.input_txt {width: 538px;height: 38px;padding: 0px;float: left;border: 1px solid #41a1cb;outline: none;text-indent: 10px; }.input_sub {width: 100px;height: 40px;border: 0px;float: left;background-color: #41a1cb;color: #fff;font-size: 16px;outline: none;cursor: pointer;position: relative; }.input_sub.loading::before {content: '';position: absolute;left: 0;top: 0;width: 100%;height: 100%;background: url('../img/loading.gif'); }.hotkey {margin: 3px 0 0 2px; }.hotkey a {font-size: 14px;color: #666;padding-right: 15px; }.weather_list {height: 200px;text-align: center;margin-top: 50px;font-size: 0px; }.weather_list li {display: inline-block;width: 140px;height: 200px;padding: 0 10px;overflow: hidden;position: relative;background: url('./img/line.png') right center no-repeat;background-size: 1px 130px; }.weather_list li:last-child {background: none; }/* .weather_list .col02{background-color: rgba(65, 165, 158, 0.8); } .weather_list .col03{background-color: rgba(94, 194, 237, 0.8); } .weather_list .col04{background-color: rgba(69, 137, 176, 0.8); } .weather_list .col05{background-color: rgba(118, 113, 223, 0.8); } */.info_date {width: 100%;height: 40px;line-height: 40px;color: #999;font-size: 14px;left: 0px;bottom: 0px;margin-top: 15px; }.info_date b {float: left;margin-left: 15px; }.info_type span {color: #fda252;font-size: 30px;line-height: 80px; }.info_temp {font-size: 14px;color: #fda252; }.info_temp b {font-size: 13px; }.tem .iconfont {font-size: 50px; }

图片部分可以网上自己找,也可以删了关于图片的code

总结

以上是生活随笔为你收集整理的vue+axios天气查询——天知道效果展示及源码分析的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。