看了Kissy自带组件的代码,又看了你在D2上的PPT , 看得有些晕(现有组件和D2演讲说说的组件编写方式貌似不同啊).
不清楚Kissy推荐的组件编写风格应该是什么样子的.
希望Kissy能够写一个简单的组件, 作为参考实现(或模版). 并加以说明.
希望达到的效果是:
无论谁来编写Kissy的组件, 大家的代码结构 风格都做到统一, 就好像一个团队开发的一样.
避免当初JQuery组件遇到的问题.
当属Jquery虽然社区繁荣,组件众多. 但是大家各自为政,不同的组件编写的规范和编码风格相去甚远.
为使用和维护带来了很大的麻烦.
希望Kissy在最初就定义好详细的组件编写的规范/约定/风格.
顺便问一下 我的这个编写方式 有什么不妥, 该如何改进 谢谢了
KISSY.app('GOCOM');
GOCOM.add('TextField',function(app){
var S=KISSY;
function TextField(cfg){
this.init(cfg);
this.afterInit();
}
GOCOM.TextField=TextField;
//之前已经定义好父类 GOCOM.Field,下面部分方法从Field中继承而来.
S.extend(TextField,GOCOM.Field,{
VERSION : '0.1',
xtype : 'textfield',
getDefaultConfig : function(){
return {
value : '',
size : 10,
type : 'text'
}
},
getTemplate : function(cfg){
var tmpl=[
'<div id="'+cfg.id+'_box" >',
'<input id="'+cfg.id+'" ',
' name="'+cfg.name+'" ',
' size="'+cfg.size+'" ',
' type="'+cfg.type+'" ',
' value="'+cfg.value+'" />',
'</div>'
];
return tmpl.join('');
},
render : function(tar){
tar=this.getRenderToEl(tar);
if (!this.rendered && tar){
var html=this.getTemplate(this.getConfig());
this.boxEl=KISSY.one(KISSY.DOM.create(html));
tar.append(this.boxEl);
this.el=KISSY.one('input');
this.initEvent(this.getConfig());
this.rendered=true;
}
}
});
// 之前已经定义好 GOCOM.Class模块,用来管理类.
GOCOM.Class.register(TextField.prototype.xtype , TextField);
});
求助 玉伯