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


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 相关文章推荐
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
深入分析JSON编码格式提交表单数据
Jun 25 Javascript
jquery中checkbox使用方法简单实例演示
Nov 24 Javascript
在AngularJS中使用jQuery的zTree插件的方法
Apr 21 Javascript
jQuery实现div横向拖拽排序的简单实例
Jul 13 Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 Javascript
angular select 默认值设置方法
Jun 23 Javascript
vue element项目引入icon图标的方法
Jun 06 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
Aug 23 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
layUI实现三级导航菜单效果
Jul 26 Javascript
如何在 ant 的table中实现图片的渲染操作
Oct 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
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
PHP中overload与override的区别
2017/02/13 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
jquery Validation表单验证使用详解
2020/09/12 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
Underscore源码分析
2015/12/30 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
js实现select下拉框选择
2020/01/11 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
Python使用plotly绘制数据图表的方法
2017/07/18 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
Python实现结构体代码实例
2020/02/10 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
自学考试自我鉴定范文
2013/09/26 职场文书
监理资料员岗位职责
2014/01/03 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
青涩记忆观后感
2015/06/18 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers