小程序调用天气接口并且渲染在页面

五分钟上手-微信小程序组件库 iView Weapp
https://www.jianshu.com/p/09b4515152ff

前两天写了关于组件库 iView Weapp的教程,其实也就是把文档上的例子拿出来体验了一遍,今天写一个具体的例子,调用一个免费的天气接口的api,并且把所获取的内容展示在前端的界面,前端界面与 iView Weapp结合,展示的一个小的demo.

先上效果


开始写代码:

1:找打一个免费的天气接口

免费接口api:https://www.apiopen.top/api.html#top
https://www.apiopen.top/weatherApi?city=%E4%B8%8A%E6%B5%B7

2:写js代码,写一个request请求,把准备好的天气接口放在url里面,当请求成功的时候,在控制台打印一下返回的res.data数据

 wx.request({
      url: 'https://www.apiopen.top/weatherApi?city=%E4%B8%8A%E6%B5%B7',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        console.log(res.data)
       
      }
    })

这个时候可以看到控制台已经有打印了接口数据了


3:接收到了数据之后,是对数据进行处理
在请求接口成功之后,用setData接收数据,并且需在data中声明一个接收数据的变量。

4:js写完之后,现在开始写wxml里面的内容,将数据渲染在界面,前面说用的是组件库 iView Weapp,样式可以自己选择,我这里选了一个卡片。

在使用组件的时候,需要在json里面引入一下:


https://weapp.iviewui.com/components/card
将里面的代码复制过来,放在wxml,并且根据改成自己需要的。

<view class='list-li mflex' wx:for="{{list.forecast}}" wx:key="index">
  <i-card title="{{list.city}}天气" extra="{{list.city}}" thumb="https://i.loli.net/2017/08/21/599a521472424.jpg">
    <view slot="content">
    {{item.date}} 
    {{item.high}} 
    {{item.low}} 
    </view>
    <view slot="footer">{{list.ganmao}}</view>
  </i-card>
</view>

ok,到这里就完成了。

5:贴一下完整的代码:
json

{
"usingComponents": {
  "i-card": "../../dist/card/index"
}
}

js:

Page({
  data: {
    list: []
  },

  onLoad: function (options) {

    wx.request({
      url: 'https://www.apiopen.top/weatherApi?city=%E4%B8%8A%E6%B5%B7',
      header: {
        'content-type': 'application/json'
      },
      success: res => {
        console.log(res.data)
        this.setData({
          //第一个data为固定用法,第二个data是json中的data
          list: res.data.data
        })
      }
    })
  },

})

wxml

<view class='list-li mflex' wx:for="{{list.forecast}}" wx:key="index">
  <i-card title="{{list.city}}天气" extra="{{list.city}}" thumb="https://i.loli.net/2017/08/21/599a521472424.jpg">
    <view slot="content">
    {{item.date}} 
    {{item.high}} 
    {{item.low}} 
    </view>
    <view slot="footer">{{list.ganmao}}</view>
  </i-card>
</view>

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。
欢迎关注【编程微刊】公众号,回复【领取资源】,500G编程学习资源干货免费送。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程...
    祈澈菇凉阅读 6,467评论 3 90
  • 鸡哥今天分享的这个绿色软件BeyondCompare能够对比两个看起来一样的文件的不同支持,就是一个文件对比工具,...
    我天哪阅读 4,873评论 0 0
  • 店铺微信服务详案(第二节) 课程大纲: 1.店铺的顾客族群运营 2.从有效粉丝到无限互动 要点: 1.未来所有的交...
    天蓝槑Ln阅读 288评论 0 0
  • 岁月泪雨阅读 84评论 0 0
  • 休道萍叶最浮沉,须知清莲沼上行;正是公门多私事,学罢才好论功名。鸿毛千里情方重,酒把河山志更深;流水非弃落花去,最...
    小城蜉蝣阅读 284评论 0 0