如果我有最好建模为 n 叉树的数据,其中每个节点节点最多可以有 n 个子节点。在 Backbone.js 中,我很想定义一个名为 Node 的模型,其中包含一组节点。
Node = Backbone.Model.extend({
defaults: {
children: undefined
},
initialize: function() {
this.set({
children: new NodeList()
});
}
});
NodeList = Backbone.Collection.extend({
model: Node
});
这有(至少)两个问题:
- 我已经读过 Backbone.js 模型不应包含任何不是有效 JSON 类型的属性,并且 Backbone.js 不是有效的 JSON 类型。
- 如果我想要一个子节点保持对它的父节点的引用,我最终会得到一个循环关系,这会导致 Backbone.js 在调用 toJSON 时崩溃。
我应该如何解决这个问题?
非常感谢。