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


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 表单取值常用代码
Dec 22 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
使用jquery 简单实现下拉菜单
Jan 14 Javascript
JavaScript在网页中画圆的函数arc使用方法
Nov 13 Javascript
JavaScript代码性能优化总结(推荐)
May 16 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
Jul 12 Javascript
详解vue的diff算法原理
May 20 Javascript
手挽手带你学React之React-router4.x的使用
Feb 14 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
Apr 27 Javascript
Openlayers实现点闪烁扩散效果
Sep 24 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
Terran兵种介绍
2020/03/14 星际争霸
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
PHP chr()函数讲解
2019/02/11 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Vue父组件如何获取子组件中的变量
2019/07/24 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
在Python中使用模块的教程
2015/04/27 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python中shell执行知识点
2020/05/06 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
晨会主持词
2014/03/17 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
离婚财产处理协议书
2014/09/30 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
师德承诺书2015
2015/04/28 职场文书
机关工会工作总结2015
2015/05/26 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python