一、目標
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示例代碼
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。