モジュールを使用するプラグインを作成しました。基本的に、追加機能を提供するためにコードに追加できる関数。
プラグインには、これらのモジュールを呼び出す関数があります。以前は、次のように呼び出していました。
processInstance($(doc).find('[data-bcp-crumbs]'), crumbs);
processInstance($(doc).find('[data-bcp-copyright]'), copyright);
processInstance($(doc).find('[data-bcp-activenav]'), activeNav);
各行の最後の部分は、processInstance スクリプト内で呼び出される関数の名前です。したがって、関数の名前は、各行に文字列とファースト クラス オブジェクトの両方として表示されます。それを次のように単純化したいと思います。
for (var i=0; i>module.length;i++) {
processInstance($(doc).find('[data-bcp-'+module[i].toLowerCase()+']'), window[module[i]]);
}
モジュール配列は、実際のモジュール コードの各インスタンスの後に追加されます。私はこのようにやっています:
module.push('crumbs');
window[module[i]] が未定義を返すため、これは機能しません。
これを機能させるには、コードをどのように変更する必要がありますか?
シンプルなモジュールが挿入されたプラグイン全体の jsfiddle の例を次に示します: http://jsfiddle.net/michaeljimmy/U8anp/1/