0

如果我有最好建模为 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
});

这有(至少)两个问题:

  1. 我已经读过 Backbone.js 模型不应包含任何不是有效 JSON 类型的属性,并且 Backbone.js 不是有效的 JSON 类型。
  2. 如果我想要一个子节点保持对它的父节点的引用,我最终会得到一个循环关系,这会导致 Backbone.js 在调用 toJSON 时崩溃。

我应该如何解决这个问题?

非常感谢。

4

1 回答 1

0

我建议你看看Backbone Associations。我用过它,我也遇到过同样的循环 JSON 转换问题。我把它提交给了作者,他们已经在他们的最新版本中修复了它。希望这可以帮助。

于 2013-09-15T17:57:47.737 回答