微信小程序有兩個特點
1逊抡、前后端分離荡含,通過http接口進行數(shù)據交換
2竖般、頁面數(shù)據渲染與邏輯處理分離
如上圖所示甚垦,頁面有事件發(fā)生時JS會根據事件類型做出相應處理。
常用事件類型包含如下幾種:
//頁面初始化
1、 onLoad: function (options) {
//options制轰,url參數(shù)對象
}
//用戶上拉刷新
2前计、onReachBottom: function () {
}
//用戶分享
3、onShareAppMessage: function () {
}
//點擊事件
4垃杖、bindViewTap:function(event){
}
當我們剛進入一個頁面時男杈,首先會進行頁面初始化,也就是執(zhí)行onLoad事件调俘。
這時候要執(zhí)行http請求以獲取所需的數(shù)據伶棒!
onLoad:function(options){
let url = 'https://wxapis.vdongchina.com/xxx/api.php'
let data = {
token:6,
id:1
}
//調用http方法(promise)
var that = this
httpGet(url,data).then(function(res){
//業(yè)務處理邏輯begin
let data = res.data.Response
//1.處理邏輯1
//2.處理邏輯2
....................
//3.處理邏輯n
//渲染到視圖層
that.setData({
datalist:data
})
//業(yè)務處理邏輯end
})
}
//頁面示例
<view wx:for="{{datalist}}">
{{index}}
{{item.message}}
</view>
基本上,其他的事件處理也是這個模式彩库,需要注意的是存在變化的地方肤无!
1、url骇钦,每個url表示一個接口宛渐,用以滿足不同的業(yè)務需求
2、data眯搭,每個接口都需要獨特的上行參數(shù)
3窥翩、業(yè)務處理邏輯,通常會執(zhí)行一系列操作然后渲染到視圖層
如何應對變化鳞仙?
業(yè)務需求會比較頻繁的變更寇蚊,如果每次變更都要修改代碼,那么出錯的概率會比較大棍好,所以需要有一種策略來應對需求變化仗岸。