实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上。
那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上。
1.用到的知识点
<1> wx.request 请求接口资源(微信小程序api中的发起请求部分)
<2>swiper 实现轮播图的组件
<3>wx:for 循环语句
<4>微信小程序的基础知识
2.实现原理
首先,先看一下这个请求函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
wx.request({
url:
'******'
,
//这里填写你的接口路径
header: {
//这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
'Content-Type'
:
'application/json'
},
data: {
//这里写你要请求的参数
x:
''
,
y:
''
},
success:
function
(res) {
//这里就是请求成功后,进行一些函数操作
console.log(res.data)
}
})
|
3.代码
分解图
<1>首先上一段知乎接口数据的json格式中的开头
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
"date"
:
"20161114"
,
"stories"
:[
{
"images"
:[
],
"type"
:0,
"id"
:8975316,
"ga_prefix"
:
"111422"
,
"title"
:
"小事 · 我和你们一样"
},
{
"images"
:[
],
"type"
:0,
"id"
:8977438,
"ga_prefix"
:
"111421"
,
"title"
:
"成长嘛,谁说就意味着一定要长大了?"
},
|
<2>index.js中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
Page({
data: {
duration: 2000,
indicatorDots:
true
,
autoplay:
true
,
interval: 3000,
loading:
false
,
plain:
false
},
onLoad:
function
() {
var
that =
this
//不要漏了这句,很重要
wx.request({
headers: {
'Content-Type'
:
'application/json'
},
success:
function
(res) {
//将获取到的json数据,存在名字叫zhihu的这个数组中
that.setData({
zhihu: res.data.stories,
//res代表success函数的事件对,data是固定的,stories是是上面json数据中stories
})
}
})
}
})
|
<3> index.wxml中
1
2
3
4
5
6
7
8
9
10
11
12
|
<
view
>
<
swiper
indicator-dots
=
"{{indicatorDots}}"
autoplay
=
"{{autoplay}}"
class
=
"banners"
interval
=
"{{interval}}"
duration
=
"{{duration}}"
>//这里边的属性不重要,看下边
<
block
wx:for
=
"{{zhihu}}"
>
<
swiper-item
class
=
"banner"
>
<
image
src
=
"{{item.image}}"
data-id
=
"{{item.b}}"
bindtap
=
"bindViewTap"
class
=
"banner-image"
width
=
"100%"
height
=
"100%"
/>
<
text
class
=
"banner-title"
>{{item.title}}</
text
>
</
swiper-item
>
</
block
>
</
swiper
>
</
view
>
|
看完这个代码,你会想,根据微信小程序的绑定原理,这里边的代码哪里调用了onLoad()这个函数,不用多想,微信小程序给你省略了这些步骤。直接调用zhihu这个数组就行。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。