前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序调用天气接口并且渲染在页面

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

作者头像
王小婷
发布2019-06-22 14:08:58
1.4K0
发布2019-06-22 14:08:58
举报
文章被收录于专栏:编程微刊

五分钟上手-微信小程序组件库 iView Weapp

https://cloud.tencent.com/developer/article/1448408

前两天写了关于组件库 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数据

代码语言:javascript
复制
 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,并且根据改成自己需要的。

代码语言:javascript
复制
<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

代码语言:javascript
复制
{
"usingComponents": {
  "i-card": "../../dist/card/index"
}
}

js:

代码语言:javascript
复制
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

代码语言:javascript
复制
<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>
 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.06.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始写代码:
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档