求助:用这样的方式写Kissy组件,可行吗?(Kissy推荐的方式是怎样的?)
看了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);});
求助 玉伯
1 楼 lifesinger 2010-12-29 这样挺好的,fins 的代码已经很规范^o^
KISSY.app('GOCOM'); 只要有一处写了即可。比如:
gocom.js <--- KISSY.app('GOCOM', { version: xxx, ... })
textfiled.js <--- GOCOM.add(...)