附圖
這是一段獲取訂單數(shù)據(jù)的代碼,函數(shù)方法綁定基本都是在html
中里綁定的點擊事件,還有下拉刷新的功能,求教大家怎樣更好的組織代碼結(jié)構(gòu),好維護(hù),模塊模式?
下面的代碼我都加了對應(yīng)的注釋
// 模板引擎補(bǔ)充
template.defaults.imports.Balance = function (number) {
return number.toFixed(2);
}
// 當(dāng)所有組件準(zhǔn)備好后執(zhí)行內(nèi)部回調(diào)方法
appcan.ready(function () {
uexWindow.setWindowScrollbarVisible('false');
appcan.frame.setBounce(1, function (type) {
$("#pullstatus").html("");
}, function (type) {
$("#pullstatus").html("");
}, function (type) {
$("#pullstatus").html("松手了,產(chǎn)生事件了,開始更新數(shù)據(jù)!");
// 下拉事件發(fā)生
appcan.frame.resetBounce(1);
var num = Number(pageNo) * limit;
$("#pullstatus" + type).html("");
// alert("totalRows=" + totalRows)
if (Number(totalRows) <= num) {
appcan.window.openToast({
msg: '沒有更多',
duration: 1000,
position: 5,
type: 0
});
return;
}
pageNo = Number(pageNo) + 1;
addData();
});
queryCusBasOrg();
});
// 城市名稱改變
function changeCompany() {
$('#bills_list').html = '';
var linkId = $('#companyList')[0].value;
pageNo = 1;
queryBills(linkId)
}
// 獲取公司列表
function queryCusBasOrg() {
var url = URL + "/app/cus/queryCusBasOrg";
var paramJsonStr = "";
var func = showCompanyCallback;
var dataType = "text";
ajaxPostQuery(url, paramJsonStr, func, dataType);
appcan.window.openToast('正在加載...', '0', '5', '1');
}
// 獲取公司列表回調(diào)
function showCompanyCallback(data) {
appcan.window.closeToast();
if (typeof data == "string") {
data = JSON.parse(data);
};
var html = template('Company_tmpl', {
list: data
});
$('#companyList').html(html);
document.querySelector("#tishi").style.height = "5em"
var linkId = $('#companyList')[0].value;
queryBills(linkId);
}
// 獲取訂單數(shù)據(jù)
function queryBills(linkId) {
var url = URL + "/app/cus/queryCusPayMoney";
var paramJsonStr = "&pager.pageNo=" + pageNo + "&pager.pageSize=" + pageSize + "&cusOrgLinkid=" + linkId;
var func = showBillsCallback;
var dataType = "text";
ajaxPostQuery(url, paramJsonStr, func, dataType);
appcan.window.openToast('正在加載...', '0', '5', '1');
}
// 獲取訂單數(shù)據(jù)回調(diào)
function showBillsCallback(data) {
appcan.window.closeToast();
if (typeof data == "string") {
data = JSON.parse(data)
};
totalRows = data["pager.totalRows"];
// alert(totalRows)
var html = '';
if (data === 0) {
html = "<div id='' class='ub ub-pc pc time-wrapper''>" + "<span class='mf-size2 time'>暫無歷史賬單</span>" + "</div>";
$('#tishi').html(html);
} else {
html = template('bills_tmpl', {
list: data.rows
});
$('#bills_list').html(html);
document.getElementById('tishi').innerHTML = '';
}
// document.querySelector(".list-content:last-child").style.margin = "0 0 6em"
}
// 下拉刷新添加數(shù)據(jù)
function addData() {
var linkId = $('#companyList')[0].value;
var url = URL + "/app/cus/queryCusPayMoney";
var paramJsonStr = "&pager.pageNo=" + pageNo + "&pager.pageSize=" + pageSize + "&cusOrgLinkid=" + linkId;
var func = addDataCallback;
var dataType = "text";
ajaxPostQuery(url, paramJsonStr, func, dataType);
appcan.window.openToast('正在加載...', '0', '5', '1');
}
// 下拉刷新添加數(shù)據(jù)回調(diào)
function addDataCallback(data) {
appcan.window.closeToast();
if (typeof data == "string") {
data = JSON.parse(data)
};
totalRows = data["pager.totalRows"];
// alert(totalRows)
var html = '';
if (data === 0) {
html = "<div id='' class='ub ub-pc pc time-wrapper''>" + "<span class='mf-size2 time'>暫無歷史賬單</span>" + "</div>";
$('#tishi').html(html);
} else {
html = template('bills_tmpl', {
list: data.rows
});
$('#bills_list').append(html);
document.getElementById('tishi').innerHTML = '';
}
}
// 打開詳情頁
function openDetail(id) {
appcan.locStorage.setVal('FUNDSUB_ID', id);
appcan.window.open("detail", 'order_detail.html', 10);
}
項目不支持es6語法,嘗試模塊化改寫的
// 模板引擎補(bǔ)充
template.defaults.imports.Balance = function(number) {
return number.toFixed(2);
}
// 當(dāng)所有組件準(zhǔn)備好后執(zhí)行內(nèi)部回調(diào)方法
appcan.ready(function() {
uexWindow.setWindowScrollbarVisible('false');
appcan.frame.setBounce(1, function(type) {
$("#pullstatus").html("");
}, function(type) {
$("#pullstatus").html("");
}, function(type) {
$("#pullstatus").html("松手了,產(chǎn)生事件了,開始更新數(shù)據(jù)!");
// 下拉事件發(fā)生
appcan.frame.resetBounce(1);
var num = Number(pageNo) * limit;
$("#pullstatus").html("");
// alert("totalRows=" + totalRows)
if (Number(totalRows) <= num) {
appcan.window.openToast({
msg : '沒有更多',
duration : 1000,
position : 5,
type : 0
});
return;
}
pageNo = Number(pageNo) + 1;
Orders.addData();
});
Orders.init();
});
var Orders = {
init : function() {
this.queryCusBasOrg();
this.options().bind();
},
options : function() {
var yue = this,
options = {};
yue.options.companyList = document.getElementById('companyList');
yue.options.bills_list = document.getElementById("bills_list");
yue.options.tishi = document.getElementById('tishi');
return yue;
},
bind : function() {
var yue = this;
this.options.companyList.onchange = function() {
yue.changeCompany();
}
},
// 獲取公司列表
queryCusBasOrg : function() {
var yue = this;
var func = yue.showCompanyCallback.bind(yue);
ajaxPostQuery(URL + "/app/cus/queryCusBasOrg", "", func, "text");
},
// 回調(diào)
showCompanyCallback : function(data) {
var yue = this;
var tishi = yue.options.tishi;
var companyList = yue.options.companyList;
if ( typeof data == "string") {
data = JSON.parse(data);
};
var html = template('Company_tmpl', {
list : data
});
$('#companyList').html(html);
tishi.style.height = "5em"
var linkId = companyList.value;
Orders.queryBills(linkId);
},
// 獲取訂單數(shù)據(jù)
queryBills : function(linkId) {
var yue = this;
var paramJsonStr = "&pager.pageNo=" + pageNo + "&pager.pageSize=" + pageSize + "&cusOrgLinkid=" + linkId;
var func = yue.showBillsCallback.bind(yue);
ajaxPostQuery(URL + "/app/cus/queryCusPayMoney", paramJsonStr, func, "text");
appcan.window.openToast('正在加載...', '0', '5', '1');
},
// 獲取訂單數(shù)據(jù)回調(diào)
showBillsCallback : function(data) {
var yue = this;
var tishi = yue.options.tishi;
var bills_list = yue.options.bills_list;
appcan.window.closeToast();
if ( typeof data == "string") {
data = JSON.parse(data)
};
totalRows = data["pager.totalRows"];
// alert(totalRows)
var html = '';
if (data === 0) {
html = "<div id='' class='ub ub-pc pc time-wrapper''>" + "<span class='mf-size2 time'>暫無歷史賬單</span>" + "</div>";
tishi.innerHTML = html;
} else {
html = template('bills_tmpl', {
list : data.rows
});
bills_list.innerHTML = html;
tishi.innerHTML = "";
}
},
// 下拉刷新添加數(shù)據(jù)
addData : function() {
var yue = this;
var linkId = yue.options.companyList.value;
var paramJsonStr = "&pager.pageNo=" + pageNo + "&pager.pageSize=" + pageSize + "&cusOrgLinkid=" + linkId;
ajaxPostQuery(URL + "/app/cus/queryCusPayMoney", paramJsonStr, yue.addDataCallback, "text");
appcan.window.openToast('正在加載...', '0', '5', '1');
},
// 下拉刷新添加數(shù)據(jù)回調(diào)
addDataCallback : function(data) {
var yue = this;
var tishi = yue.options.tishi;
appcan.window.closeToast();
if ( typeof data == "string") {
data = JSON.parse(data)
};
totalRows = data["pager.totalRows"];
// alert(totalRows)
var html = '';
if (data === 0) {
html = "<div id='' class='ub ub-pc pc time-wrapper''>" + "<span class='mf-size2 time'>暫無歷史賬單</span>" + "</div>";
tishi.innerHTML = html;
} else {
html = template('bills_tmpl', {
list : data.rows
});
$('#bills_list').append(html);
tishi.innerHTML = '';
}
},
// 城市名稱改變
changeCompany : function() {
var yue = this;
yue.options.bills_list.innerHTML = "";
var linkId = yue.options.companyList.value;
pageNo = 1;
yue.queryBills(linkId)
},
// 打開詳情頁
openDetail : function(id) {
appcan.locStorage.setVal('FUNDSUB_ID', id);
appcan.window.open("detail", 'order_detail.html', 10);
}
}
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。