【发布时间】:2011-05-17 05:49:58
【问题描述】:
我想以树的形式将 json 数据加载到 Backbone 集合中。我不能这样做。谁能解释我做错了什么?
我的非常简单的模型:
CTreeDataItem = Backbone.Model.extend(
{
});
CTreeDataItems = Backbone.Collection.extend(
{
model: CTreeDataItem
});
还有我的加载尝试:
var treeJs =
[
{ id: "tvRoot", title: 'Root', cssClass: 'root',
items: [
{ id: "ti1", title: 'Item1', cssClass: 'item',
items: [
{ id: "ti11", title: 'SubItem11', cssClass: 'subitem'},
{ id: "ti12", title: 'SubItem12', cssClass: 'subitem'}]},
{ id: "ti2", title: 'Item2', cssClass: 'item',},
{ id: "ti3", title: 'Item3', cssClass: 'item',
items: [
{ id: "ti31", title: 'SubItem31', cssClass: 'subitem'},
{ id: "ti32", title: 'SubItem32', cssClass: 'subitem'},
{ id: "ti33", title: 'SubItem33', cssClass: 'subitem'}]}]
}];
this.TreeData = new CTreeDataItems();
this.TreeData.add(treeJs);
【问题讨论】:
-
您期望的最终结果是什么,它在哪里失败了?您是否希望将每个节点表示为一个模型,并在其上包含一组子节点?
-
"您是否希望将每个节点表示为一个模型,并在其上包含一组子节点?" - 这正是我所期望的。失败是加载模型只有根元素已被嵌套。所以我有collection(1el)/model(root)/collection(1el)/model(root)/至少4个-5lvls。我不知道它有多深以及为什么它不会触发异常
-
好的,有道理。我正在尝试提出一个如何做到这一点的示例,一旦我克服了一个不会消失的异常,我就会发布它。