私は現在、かなり大きなプラグインに取り組んでいます。パブリック メソッドを追加するこのパターンに欠点があるかどうか疑問に思っています。
編集:明確にするために、この方法で私が見ることができる利点は、プラグインのスコープで利用可能なプライベート変数を使用でき、メソッドを簡単にチェーンできることです。見えないデメリットとは?正常に動作していますが、これがスケーラビリティの観点から大きなプラグインに推奨されるかどうかはわかりません.
簡略化されたコードは次のとおりです。
;(function($){
$.fn.myplugin = function () {
var self = this
var publicMethods = {
one: function () {
...
return self
},
two: function () {
...
return self
},
three: function () {
...
return self
}
}
for (var m in publicMethods)
self[m] = publicMethods[m]
return self
}
}(jQuery))
// Usage
var $myplugin = $('#foo').myplugin()
$myplugin.one().two().three()