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


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 相关文章推荐
jQuery.buildFragment使用方法及思路分析
Jan 07 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
理解javascript正则表达式
Mar 08 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
学习使用Bootstrap页面排版样式
May 11 Javascript
node中Express 动态设置端口的方法
Aug 04 Javascript
JavaScript实现换肤功能
Sep 15 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
防止Layui form表单重复提交的实现方法
Sep 10 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
微信小程序实现星星评分效果
Nov 01 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
python网页请求urllib2模块简单封装代码
2014/02/07 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
Python网页解析器使用实例详解
2020/05/30 Python
HTTP状态码详解
2021/03/18 杂记
保安拾金不昧表扬信
2014/01/15 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
温馨提示标语
2014/06/26 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
公证处委托书
2015/01/28 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
2016教师国培研修感言
2015/12/08 职场文书
python基础之文件处理知识总结
2021/05/23 Python
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
python自动化测试之Selenium详解
2022/03/13 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android