1. 程式人生 > >微信小程序前端開發架構

微信小程序前端開發架構

https 問題 bindview xtend 原則 最小化 log code cut

一、目標

1、提升開發速度
2、更好的響應需求變化

二、面臨的問題

業務需求的變化是永恒的,而變化勢必會引發代碼的變化,新增代碼或修改代碼。

改動的地方越多,引入新的錯誤幾率就越大。

技術分享圖片

三、應對思路

最小化原則,確保每次業務需求變化可以用最小的代價來完成。

1、視圖模板化,組件化

2、邏輯代碼對象化、版本化

3、事件傳遞參數化、代理化

四、架構模型

1、視圖

技術分享圖片

2、邏輯與事件通信

視圖層需要傳遞一組參數(對象名、方法名、方法需要的參數)

技術分享圖片

五、代碼示例

//wxml代碼
<view 
bindtap=‘bindViewEvent‘ 
data-model="user" 
data-method="sayhello" 
data-text="hi,nihao">sayhello</view>

//js代碼,page頁裏只有一個事件路由業務函數
bindViewEvent:function(e){
    app.excute(this,e);
 }

 //app.js 
  /*
  * 事件路由函數
  */
  excute:function(that,e){
    new umitech(that,this.config).extend(e);//動態加載對象,並調用相關方法
  }

github示例代碼

微信小程序前端開發架構