你的位置:首页 > 软件开发 > Java > 一款查询天气的WebApp

一款查询天气的WebApp

发布时间:2017-09-28 22:00:19
一、WebApp介绍1.初始界面2.搜索结果页面二、项目代码1.项目目录--------app----------app.component.ts----------app.component.css----------app.component.html----------ap ...

一款查询天气的WebApp

一、WebApp介绍

1.初始界面

一款查询天气的WebApp

2.搜索结果页面

一款查询天气的WebApp

二、项目代码

1.项目目录

--------app

----------app.component.ts

----------app.component.css

----------app.component.html

----------app.module.ts

2.app.component.html

 1 <div class="content"> 2  <div> 3   <img width="300" src='/images/loading.gif' data-original="data:image/svg+> 4  </div> 5  <h2>{{title}}</h2> 6  <div> 7   <form class="form-inline"> 8   <div class="form-group"> 9    <label for="exampleInput">Address</label>10    <input type="text" class="form-control" id="exampleInput" placeholder="Please input the address" name="searchAddress">11   </div>12   <button type="button" class="btn btn-default" (click)="start()">Search</button>13   </form>14  </div>15 </div>16 <div class="data" *ngIf="begin">17  <table class="table table-striped">18   <thead>19    <tr>20     <th>日期</th>21     <th>天气</th>22     <th>日间温度</th>23     <th>夜间温度</th>24     <th>气压值</th>25     <th>湿度</th>26     <th>天气情况</th>27    </tr>28   </thead>29   <tbody>30    <tr *ngFor="let DL of DataList;let i=index;">31     <td>{{dateString[i]}}</td>32     <td>{{DL.weather[0].main}}</td>33     <td>{{DL.temp.day}}</td>34     <td>{{DL.temp.night}}</td>35     <td>{{DL.pressure}}</td>36     <td>{{DL.humidity}}</td>37     <td><img src='/images/loading.gif' data-original="http://openweathermap.org/img/w/{{DL.weather[0].icon}}.png"/></td>38    </tr>39   </tbody>40  </table>41 </div>

 

 

3.app.component.ts

 1 import { Component, OnInit } from '@angular/core'; 2 import {HttpClient} from '@angular/common/http'; 3 import 'rxjs/add/operator/toPromise'; 4  5 @Component({ 6  selector: 'app-root', 7  templateUrl: './app.component.html', 8  styleUrls: ['./app.component.css'] 9 })10 export class AppComponent{ 11  title = 'A weather search App!';12  public http;13  Data:any;14  begin=false;//控制天气结果列表是否出现15  searchAddress:string;//查询框文本的变量声明16  dateString:string[];//天气结果列表的七个日期数组声明17  DataList:any;//获取到的数据列表变量声明18  constructor(private Http:HttpClient) {19   this.http = Http;20  }21  now=new Date()//获取当前时间22  GetDateStr(AddDayCount :number) {23   this.now.setDate(this.now.getDate()+AddDayCount);//获取AddDayCount天后的日期24   let y = this.now.getFullYear();25   let m = this.now.getMonth()+1;//获取当前月份的日期26   let d = this.now.getDate();27   return y+"年"+m+"月"+d+"日";28  }29  ngOnInit() {//在组件加载进来的时候就执行30   this.dateString=[this.GetDateStr(0),this.GetDateStr(1),this.GetDateStr(2),this.GetDateStr(3),this.GetDateStr(4),this.GetDateStr(5),this.GetDateStr(6)]31  }32  start(){//点击查询之后执行的函数33   this.searchAddress = (document.getElementsByName('searchAddress')[0] as HTMLInputElement).value;//获取搜索框里面的文本34   if(this.searchAddress.length!=0){//如果搜索框里面的文本不为空,那么结果列表出现,并且发送请求35    this.begin=true; 36    this.http.get("http://api.openweathermap.org/data/2.5/forecast/daily?q="+this.searchAddress+"&mode=json&units=metric&cnt=7&appid=f12159c1f548ea9ab7b5ff1907b1df50")37     .subscribe((data) => {38      this.Data=data;39      this.DataList=this.Data.list; 40     },41     err => { });42   }else{//如果搜索框里面的文本为空,那么结果列表不出现,并且不发送请求43    alert("请输入地址");44   } 45  } 46 }

 

4.app.component.css

1 .content{2  width: 340px;3  margin: 0 auto;4 }5 .data{6  width: 800px;7  margin: 0 auto;8  margin-top: 10px;9 }

ps:项目中的数据接口亲测可用,大家可以玩玩

项目代码地址https://github.com/Nangxif/WeatherWebApp

 

 



原标题:一款查询天气的WebApp

关键词:web

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。