我一直在对骨干和淘汰等框架进行大量研究,并试图找出处理密集对象层次结构和将对象参数绑定到DOM的最佳选择。
我正在处理具有自己的参数但也包含对象的对象。这些对象又有自己的参数并包含对象等。大约5-6个对象的级别。例如:
var Program = {
id: 123,
name: "some name",
cycle1 {
cycleName: "another name",
startDate: "1-1-2012",
day1 {
startDate: "1-1-2012",
metaData {
foo: "bar",
foo2: "bar 2"
}
}
day2 {
startDate: "1-1-2012",
metaData {
foo: "bar",
foo2: "bar 2"
}
}
}
cycle2 {
cycleName: "another name",
startDate: "1-1-2012",
day1 {
startDate: "1-1-2012",
metaData {
foo: "bar",
foo2: "bar 2"
}
}
day2 {
startDate: "1-1-2012",
metaData {
foo: "bar",
foo2: "bar 2"
}
}
}
}
这是一个非常简化的例子,但给出了一个想法。这里有一个Program对象,它将包含一个未知数量的Cycle对象,它们将包含Day对象,它将包含MetaData对象。同样,其数量几乎肯定是完全可变的,并且每个项目都需要绑定到DOM元素。
我知道Backbone真的没有设置嵌套......虽然Knockout可能也不是,但我觉得我可能会更快地搞定它。
答案 0 :(得分:0)
我不能说Backbone,但Knockout处理嵌套对象就好了。
例如,您可以设置一个用于迭代主对象的模板,然后在该模板中设置一个元素,您可以使用另一个模板迭代子对象,依此类推。
或者您可以直接在主模板中迭代子对象,或者最适合您的用例。