我现在已经编写了我的第四个插件,我开始注意到我的开发模式的趋势,并且不确定是否有更好的方法来处理它。
我正在使用插件方法(Addy Osmani 概述的轻量级启动模式,请参见此处:http ://addyosmani.com/resources/essentialjsdesignpatterns/book/#jquerypluginpatterns )
在我的 Plugin.prototype 中,我有一堆方法,包括我用来调用插件中所有方法的 init() 函数。请原谅混乱,但这就是它的样子:
Plugin.prototype = {
init: function() {
this.doMethodOne();
this.doMethodTwo(this.element, this.options)
this.doMethodThree();
},
doMethodOne: function() { .. }
doMethodTwo: function(el, options) { .. }
doMethodThree: function() { .. }
}
$.fn[pluginName] = function ( options ) {
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName,
new Plugin( this, options ));
}
});
}
我遗漏了一些信封代码,但我希望你能明白。
我发现我的代码有点缺乏,因为我几乎只是线性地调用我的代码并将其存储在插件命名空间中。
我已经多次阅读插件开发模式和创作文本,仍然这样写。我该如何改进呢?
谢谢 !