わかりましたので、Dojo 1.8 で次のようなものを構築しようとしています...
<ul class="groups">
<li class="group">
<ul class="items">
<li class="item"></li>
</ul>
</li>
</ul>
「アイテム」用の単純な TemplatedWidget を作成しました (これを TypeAItem と呼びましょう。ただし、後で異なるテンプレートが必要になると、異なるタイプの「アイテム」が存在する可能性があります。
グループを表す JSON があります。これは次のようになります...
[{
name: "groupName",
items: [{ title: "Item 1", type: "someRandomType", otherStuff: {} }]
}]
私の問題は、このネストされたリストを作成する最善の方法がわからないことです。
もともとは、Mustache のような何らかのループ規則を使用したかっただけでしたが、Dojo のテンプレートはそれをサポートしていないようです。次に、Creating a Custom Widgetチュートリアルを読んだ後、ネストされた for ループを次のように使用したいと思いました...
var groupHTML="<ul class='groups'>"
for (group in groups) {
groupHTML += "<li class='group'>";
for (item in groups.items) {
???
// I'm assuming something like var item = new TypeAItem(item);
// but I the tutorial only uses the .placeAt(domNode) function
// So I'm not sure how to get this to work.
}
groupHTML += "</li>
}
groupHTML += "</ul>
他のタイプの項目タイプのリストが必要な場合は、コードの 1 行を変更するか、これを関数として設定し、項目を表すウィジェットに渡すだけで十分です。
これを機能させる方法がわからないので、グループを独自のウィジェットにセットアップしてから、postCreate メソッドでアイテムを作成する必要があるのではないかと考え始めました。ただし、次に group.items 配列を渡す方法と、後でさまざまな項目タイプを処理できるように柔軟にする方法を理解する必要があります。
誰かが助けてくれれば、とても感謝しています!