テンプレートの使用は初めてで、テンプレートの再利用について質問があります。読み込み時に、テンプレートとデータを取得します。
$(function() {
var source, content;
$.get('/templates/template.html', function(data) {
source = data;
})
$.getJSON("/data/data.php", function(data) {
content = data;
})
$(document).ajaxStop(function() {
window.template = Handlebars.compile(source);
$('#user-list tbody').html(window.template(content));
})
})
テンプレートは次のとおりです。
{{#users}}
<tr>
<td> {{name}} </td>
</tr>
{{/users}}
同じファイル内の HTML は次のとおりです。
<div id="content-div">
<table id="user-list">
<thead></thead>
<tbody></tbody>
</table>
</div>
行を追加したい場合、このテンプレートを再利用するにはどうすればよいですか? 例えば:
function loadMore() {
$.ajax({
type : 'POST',
url : '/data/more.php',
dataType : 'json',
success : function(data) {
$('#user-list tbody').append(window.template(data));
}
});
}
データを取得しますが、に追加しませんtbody
。どうしてこれなの?
更新: また、テーブル構造全体をそのままテンプレート ファイルに入れることは可能ですか?
<table id="user-list">
<thead></thead>
<tbody>
{{#users}}
<tr>
<td> {{name}} </td>
</tr>
{{/users}}
</tbody>
</table>
最初のページの読み込み時にのみ、構造全体が取り込まれますが、追加の行を追加<tr>
したい場合は、その部分を追加するだけです。
更新: トピック外の副次的な質問かもしれませんが、これは一般的にこの状況にアプローチする正しい方法ですか? 私は、必要なときに取り込んで使用できるテンプレートでいっぱいのフォルダーを思い描いています。ajax呼び出しでそれらを取得するのは正しいですか?