毎回最初から繰り返すのではなく、参照しているデータ ファイルを進めながら、ダスト テンプレートを繰り返しレンダリングする最善の方法は何でしょうか。例えば:
dataという変数に JSON として保存されている 100 人以上の人のリストがあるとします。
{
"people": [
{
"name": "Jerry",
"age": "17"
},
{
"name": "Darcy",
"age": "19"
},
{
"name": "Jacob",
"age": "25"
},
... and so on for 100 or so people
]
}
そして、3 つの名前/年齢の行をエクスポートするこのtemplate.tlファイルがあります。
<div class="row">
<div>{name} - {age}</div>
<div>{name} - {age}</div>
<div>{name} - {age}</div>
</div>
私はtemplate.jsにプリコンパイルします:
(function(){dust.register("template.tl",body_0);function body_0(chk,ctx){return chk.write("<div class=\"row\"><div>").reference(ctx.get(["name"], false),ctx,"h").write(" - ").reference(ctx.get(["age"], false),ctx,"h").write("</div><div>").reference(ctx.get(["name"], false),ctx,"h").write(" - ").reference(ctx.get(["age"], false),ctx,"h").write("</div><div>").reference(ctx.get(["name"], false),ctx,"h").write(" - ").reference(ctx.get(["age"], false),ctx,"h").write("</div></div>");}return body_0;})();
次に、次のようなindex.htmlファイルがあります。
<html>
<head>
...
</head>
<body>
<div id="people"></div>
<button id="load-more" type="button">Load More</button>
</body>
<script src="js/dust-core.min.js"></script>
<script src="js/template.js"></script>
</html>
ボタンがクリックされるたびに 3 人の行が 内に追加され、<div id="people"></div>
その後の各クリックで次の 3 人がロードされ、データ配列の最後がテストされるようにするための最良の方法は何でしょうか (私のニーズでは、人数は常に 3 の倍数です)。