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


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使用jquery.zclip插件复制对象的实例教程
Dec 04 Javascript
JavaScript中的闭包(Closure)详细介绍
Dec 30 Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
Sep 07 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
Aug 20 Javascript
jQuery实现的自定义弹出层效果实例详解
Sep 04 Javascript
微信小程序 Page()函数详解
Oct 17 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
浅谈Vue内置component组件的应用场景
Mar 27 Javascript
countUp.js实现数字动态变化效果
Oct 17 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
Jan 17 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选项与信息函数的使用详解
2013/05/10 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
2018/05/02 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
JS中实现replaceAll的方法(实例代码)
2013/11/12 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
BootStrap中的table实现数据填充与分页应用小结
2016/05/26 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
微信小程序利用云函数获取手机号码
2019/12/17 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
javascript实现画板功能
2020/04/12 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python实现桌面托盘气泡提示
2019/07/29 Python
python实现猜数字游戏
2020/03/25 Python
python next()和iter()函数原理解析
2020/02/07 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
2013年保送生自荐信格式
2013/11/20 职场文书
市场营销管理制度
2014/01/29 职场文书
公司经理聘任书
2014/03/29 职场文书
个人授权委托书格式
2014/08/30 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
学生吸烟检讨书
2014/09/14 职场文书
歌咏比赛主持词
2015/06/29 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
详解Redis集群搭建的三种方式
2021/05/31 Redis