初始化组件封装
2009-05-22 13:32 wlstyle 阅读(232) 评论(0) 收藏 举报由于做的是业务系统 ,工作中会用到很多的主件 在初始化的时侯要定义很多变量然后依次new 出对象。感觉有必要封装一个方法。一次性初始化出所有的要用到的组件对象。所有了这个封装。
1
/**初始化所有的组件
2
* parameter:
3
* cfg={
4
* a:{type:'form',
5
* cfg: {
6
el: 'J_Ecp'
7
}}
8
* }
9
* store={}
10
* use:initObj.addObj(cfg,store);
11
*
12
*/
13
var initWidget = (function(){
14
var initObj = (function(){
15
var map = {
16
form: NT.form.BasicForm,
17
grid: NT.widget.GridPanel
18
}
19
return {
20
addObj: function(obj, key, cfg){
21
obj[key] = new map[cfg[key]['type']](cfg[key]['cfg']);
22
},
23
addMap: function(key, fn){
24
map[key] = fn;
25
}
26
}
27
})();
28
function each(cfg, store){
29
for (var key in cfg) {
30
initObj.addObj(store, key, cfg);
31
}
32
}
33
return {
34
init: function(cfg, store){
35
each(cfg, store);
36
},
37
addMap: function(key,fn){
38
initObj.addMap(key,fn);
39
}
40
41
}
42
})()
/**初始化所有的组件2
* parameter:3
* cfg={4
* a:{type:'form',5
* cfg: {6
el: 'J_Ecp'7
}}8
* }9
* store={}10
* use:initObj.addObj(cfg,store);11
* 12
*/13
var initWidget = (function(){14
var initObj = (function(){15
var map = {16
form: NT.form.BasicForm,17
grid: NT.widget.GridPanel18
}19
return {20
addObj: function(obj, key, cfg){21
obj[key] = new map[cfg[key]['type']](cfg[key]['cfg']);22
},23
addMap: function(key, fn){24
map[key] = fn;25
}26
}27
})();28
function each(cfg, store){29
for (var key in cfg) {30
initObj.addObj(store, key, cfg);31
} 32
}33
return {34
init: function(cfg, store){35
each(cfg, store);36
},37
addMap: function(key,fn){38
initObj.addMap(key,fn);39
}40
41
} 42
})()对象提供了两个方法一个是init初始化出所有的对象 依次保存在store对象中 。以后要用到组件对象可以直接在这个对象中取得。还提供了一个添加map的方法。这样就可以自由添加组件。做到了一定程度的自适应。其实可以做一点简化。


浙公网安备 33010602011771号