LZ很沮丧,因为发现这个项目可能无法实现大部分预期的功能并且不会有太多人看这些文章,已经不太想写编码过程,但本着写文章不仅是经验分享还是对自己编程的记录及自身知识的验证,因此咬牙继续写完这个项目的相关文章。如果有看到文章的并有跟着学习的朋友要注意目前小程序仅支持https协议的API,当然也可以不采用API方式利用网页解析获得数据,但是这只是个学习项目的过程,本着快速学习开发小程序的精神暂时不做深入探讨。
1、页面生命周期函数的利用
在学习过程中会碰到生命周期函数,这是框架自身封装的一些特有的功能,可以联想到Struct、Spring里的拦截器或servlet当中的过滤器监听器等,都是采用类似的原理在增强功能。页面生命周期函数可以更好的帮助我们实现页面逻辑与数据之间的交互。
最常用到的是onLoad,onPullDownRefresh,onReachBottom等主要是设计页面数据初始化及上拉、下拉刷新。另外想要操作小程序前后台切换时的行为可以使用onShow,onHide函数。在本次项目中主要运用到了以下的函数:
onLoad、以文章列表页为例
/**
* 获取博客文章列表
*
* @obj 传入的事件本身
*/
function getArticleList(obj){
var page = obj.data.page
wx.request({
url: API_URL+"getarticlelist",
data: {
access_token: ACCESS_TOKEN,
page: page
},
header: {
'content-type': "application/json"
},
success: function (res) {
console.log(res.data)
if (res.data.page + 1 > res.data.count / res.data.size) {//判断是否超过页数
obj.setData({
noMore: true,
loadHidden: true,
list: obj.data.lists
})
return;
}
var dataList = []
obj.setData({
lists: dataList.concat(obj.data.lists, r