| 
				 
					实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上。 
				
					那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上。 
				
					1.用到的知识点 
				
<1> wx.request 请求接口资源(微信小程序api中的发起请求部分) 
<2>swiper 实现轮播图的组件 
<3>wx:for 循环语句 
<4>微信小程序的基础知识
 
				
					2.实现原理 
				
					首先,先看一下这个请求函数 
				
					  
				
 
				
					- 
						wx.request({
 
					- 
						url: '******', //这里填写你的接口路径
 
					- 
						header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
 
					- 
						'Content-Type': 'application/json'
 
					- 
						},
 
					- 
						data: {//这里写你要请求的参数
 
					- 
						x: '' ,
 
					- 
						y: ''
 
					- 
						},
 
					- 
						 
 
					- 
						success: function(res) {
 
					- 
						//这里就是请求成功后,进行一些函数操作
 
					- 
						console.log(res.data)
 
					- 
						}
 
					- 
						})
 
				 
				
					3.代码 
				
					分解图 
				
					  
				
					<1>首先上一段知乎接口数据的json格式中的开头 
				
					  
				
 
				
					- 
						"date":"20161114",
 
					- 
						"stories":[
 
					- 
						{
 
					- 
						"images":[
 
					- 
						"http://jb51.net.com/76125c357aa7b0ca6c9cbc41b4a5326d.jpg"
 
					- 
						],
 
					- 
						"type":0,
 
					- 
						"id":8975316,
 
					- 
						"ga_prefix":"111422",
 
					- 
						"title":"小事 · 我和你们一样"
 
					- 
						},
 
					- 
						{
 
					- 
						"images":[
 
					- 
						"http://jb51.net/7c908a5940384123fd88287dbc6a2c98.jpg"
 
					- 
						],
 
					- 
						"type":0,
 
					- 
						"id":8977438,
 
					- 
						"ga_prefix":"111421",
 
					- 
						"title":"成长嘛,谁说就意味着一定要长大了?"
 
					- 
						},
 
				 
				
					<2>index.js中 
				
					  
				
 
				
					- 
						Page({
 
					- 
						data: {
 
					- 
						duration: 2000,
 
					- 
						indicatorDots: true,
 
					- 
						autoplay: true,
 
					- 
						interval: 3000,
 
					- 
						loading: false,
 
					- 
						plain: false
 
					- 
						},
 
					- 
						onLoad: function () {
 
					- 
						var that = this//不要漏了这句,很重要
 
					- 
						wx.request({
 
					- 
						url: 'http://news-at.zhihu.com/api/4/news/latest',
 
					- 
						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中 
				
					  
				
 
				
					- 
						<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这个数组就行。 
			 |