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


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 相关文章推荐
JS拖动技术 关于setCapture使用
Dec 09 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
基于javascript实现最简单的选项卡切换效果
May 16 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
javascript滚轮事件基础实例讲解(37)
Feb 14 Javascript
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
详解小程序如何动态绑定点击的执行方法
Nov 26 Javascript
Openlayers绘制聚合标注
Sep 28 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php读取数据库信息的几种方法
2008/05/24 PHP
php 异常处理实现代码
2009/03/10 PHP
PHP中使用BigMap实例
2015/03/30 PHP
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
Python中非常实用的一些功能和函数分享
2015/02/14 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
使用Keras实现简单线性回归模型操作
2020/06/12 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
自主实习接收函
2014/01/13 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
诉前财产保全担保书
2014/05/20 职场文书
处级干部考察材料
2014/12/24 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
Python anaconda安装库命令详解
2021/10/16 Python