私はこのすべての間違いに近づいている可能性がありますので、フィードバックや提案は非常に高く評価されます。外部JSファイルの内容を含む
私は、ユーザーが独自のダッシュボードを作成できるjavascriptとjQueryを使用してツールを構築しています。ユーザーは、ダッシュボードに追加したいモジュールを選択して、適切に再配置することができます。
モジュールには、htmlテーブルや入力を許可して検索を実行することができます。
私の目標は、各モジュールを独自のJSファイルにして、ロジックを分離しておく必要があるときに簡単にデバッグできるようにすることでした。
これは、上記のコードは、ユーザが選択したモジュールを取り出し、私に向かって働いていたもの、具体的にgetScript
// Loop over our modules and create our output
for (var i = 0; i < moduleData.modules.length; i++){
output += '<li data-sizey="'+moduleData.modules[i].sizeY+'" data-sizex="'+moduleData.modules[i].sizeX+'" data-col="'+moduleData.modules[i].col+'" data-row="'+moduleData.modules[i].row+'" data-min-sizey="'+moduleData.modules[i].minYsize+'" data-min-sizex="'+moduleData.modules[i].minXsize+'">';
output += '<div class="portlet" >';
output += '<div class="portlet-title">';
output += '<div class="caption">';
output += '<i class="'+moduleData.modules[i].moduleIcon+'"></i>';
output += '<span class="caption-subject text-uppercase"> '+moduleData.modules[i].moduleName+'</span>';
output += '<span class="caption-helper"> '+moduleData.modules[i].moduleDescription+'</span>';
output += '</div>';
output += '<div class="actions">';
output += '<a class="btn" name="editModule" data-moduleid="'+moduleData.modules[i].moduleID+'"><i class="fa fa-pencil"></i>Edit</a>';
output += '</div>';
output += '</div>';
output += '<div class="portlet-body">';
$.getScript("includes/js/modules/"+moduleData.modules[i].moduleID+".js", function(data){
output += data;
});
output += '</div>';
output += '</div>';
output += '</li>';
}
// Append our output
$('#moduleData').empty().append(output);
あります。実際のロジックがレンダリングされるモジュールblock/divを設定します。
私の目標は、取得しようとしていた個々のJSファイルの出力をそれらのモジュールに埋め込むことです。
モジュールをすべて別々のファイルとして保持する方法を試しながら、これを処理するためのより良い方法に関する提案があります(これがベストと思われます)。
あなたは間違いなく、HTMLとJavascriptを混在させることはできません。それを分離したままにしておきます。 –
おそらく、必要なすべてのJSファイルの代わりに配列を作成し、ループの後にロードするでしょうか?それから、各JSファイルに、データを追加するために必要なモジュールのIDを教えてください。 – SBB