前端和后台使用一样的模块化的编程思想,分模块的导入需要的文件,不用胡乱的加载js文件,在加载之前首先去加载依赖的文件。

  1. 这个文件是一个service层的文件
define(basePath + "/views/park/service/park_service", 
[
basePath+ "/views/common/js/util"
],
function(require, exports,module) {
var util = require("{basePath}/views/common/js/util");
module.exports={
getParkList:function(callback){
var url = basePath+"/parking/getParks";
var config ={
url : url,
success : callback
};
$.ajax(config);
},
del:function(parkId,callback){
var url = basePath+"/parking/delParking";
var config ={
url : url,
data:{
id:parkId
},
success : callback
};
$.ajax(config);
},
getEntranceList:function(parkId,callback){
var url = basePath+"/entrance/listEntranceByPark.action";
var config = {
url:url,
data:{parkId:parkId},
success:callback
};
$.ajax(config);
}
}

});

parkservice

2. 我们引用这个文件,在另外的模块中,这样非常的棒

define(basePath + "/views/park/action/manage/park-list/park_list", 
[
basePath + "/views/common/js/util",
basePath + "/views/park/config/htmlTemple",
basePath + "/views/park/service/park_service",
basePath + "/views/park/action/manage/devManage/IOUnit/IOUnit_index"
],
function(require, exports,module) {

var htmlTemple = require("{basePath}/views/park/config/htmlTemple");
var parkService = require("{basePath}/views/park/service/park_service");
var util = require("{basePath}/views/common/js/util");



var
$parkList,
tools = "#park-tools",
entranceList,
$status = $("div[name=park-status]","#config-park"),
curParkId;

module.exports={
init:init,
setEntrList:function(list){
entranceList=list;
},
setId:function(id){
curParkId=id;
},
getList:getList
}

function init(el,fun){
$parkList=el;
parkService.getParkList(creatParkList);
initEvent();
}

function getList(id){
curParkId=id;
parkService.getParkList(creatParkList);
}

function creatParkList(data){

var temple = htmlTemple.parkListUnit.join("");
var htmlArr = [];

for(var i=0,length = data.length;i<length;i++){
htmlArr.push($.template(temple, data[i]));
}

$parkList.html(htmlArr.join(""));
if(curParkId&&$("#parkID_"+curParkId).length){
$("#parkID_"+curParkId).trigger("click");
}else{
$parkList.find(".panel-title").first().trigger("click");
}
}

function initEvent(){
$("a[name=del_btn]",tools).on("click",delPark);
};

function delPark() {

$.alert({
module : true,
title : '删除停车场',
info : '您确认要删除停车场?',
okEvent : function() {
parkService.del(curParkId,function() {
parkService.getParkList(creatParkList);

});
}
});

}


})
  1. 在我们的界面中引用模块
<script type="text/javascript">
//var curParkId;
var curParkId;
var totalPlace = ${totalPlace};
seajs.use(basePath + "/views/park/action/manage/index");
</script>