微信小程序调用天气接口并且渲染在页面过程详解


Posted in Javascript onJune 24, 2019

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
Riot.js 快速的JavaScript单元测试框架
Nov 09 Javascript
javascript 哈希表(hashtable)的简单实现
Jan 20 Javascript
brook javascript框架介绍
Oct 10 Javascript
浅谈Jquery为元素绑定事件
Apr 27 Javascript
JQuery插入DOM节点的方法
Jun 11 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
原生JS实现图片懒加载(lazyload)实例
Jun 13 Javascript
2种简单的js倒计时方式
Oct 20 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
微信小程序-可移动菜单的实现过程详解
Jun 24 #Javascript
webpack自动打包和热更新的实现方法
Jun 24 #Javascript
Promise扫盲贴
Jun 24 #Javascript
深入学习js函数的隐式参数 arguments 和 this
Jun 24 #Javascript
前端天气插件tpwidget使用方法详解
Jun 24 #Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 #Javascript
JS实现给数组对象排序的方法分析
Jun 24 #Javascript
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
php在线打包程序源码
2008/07/27 PHP
删除数组元素实用的PHP数组函数
2008/08/18 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
PHP实现计算器小功能
2020/08/28 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Python3.5面向对象编程图文与实例详解
2019/04/24 Python
python列表返回重复数据的下标
2020/02/10 Python
python实现低通滤波器代码
2020/02/26 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
大四毕业生自荐书
2014/07/05 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL