好了,我想建立使用Dojo 1.8的东西,将类似于以下...如何在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: {} }]
}]
我的问题是,我不知道是什么最好的办法将构建这个嵌套列表。
最初我只是想使用像胡须一样的循环约定,但Dojo的模板似乎不支持。然后,阅读Creating a Custom Widget教程后,我想只使用一个嵌套像这样循环......
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>
这将是很容易在那里,如果我需要一些其他类型的物品的列表类型,然后我就可以改变一行代码,或者更好的是,将其设置为一个函数,并传入代表该项目的小部件。
由于我不知道如何让它起作用,我开始考虑可能需要将组设置到它们自己的小部件中,然后在postCreate方法中创建项目。然而,那么我需要弄清楚如何将group.items数组传递给它,以及如何使它足够灵活以便稍后处理不同的项目类型。
如果有人可以帮助,我将不胜感激!
谢谢你指向我的地方()。我担心DOM命中,因为教程总是将小部件放置在循环中,但是这解决了这些问题。 – hypno7oad 2013-02-12 20:43:35