干净地处理子对象的Javascript框架?

时间:2012-02-20 19:17:24

标签: javascript frameworks

我一直在对骨干和淘汰等框架进行大量研究,并试图找出处理密集对象层次结构和将对象参数绑定到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可能也不是,但我觉得我可能会更快地搞定它。

1 个答案:

答案 0 :(得分:0)

我不能说Backbone,但Knockout处理嵌套对象就好了。

例如,您可以设置一个用于迭代主对象的模板,然后在该模板中设置一个元素,您可以使用另一个模板迭代子对象,依此类推。

或者您可以直接在主模板中迭代子对象,或者最适合您的用例。