各ノード ノードが最大 n 個の子ノードを持つことができる n 分木として最適にモデル化されたデータがあるとします。Backbone.js では、Node のコレクションを含む Node というモデルを定義したくなります。
Node = Backbone.Model.extend({
defaults: {
children: undefined
},
initialize: function() {
this.set({
children: new NodeList()
});
}
});
NodeList = Backbone.Collection.extend({
model: Node
});
これには (少なくとも) 2 つの問題があります。
- Backbone.js モデルには有効な JSON 型ではない属性を含めるべきではなく、Backbone.js は有効な JSON 型ではないことを読みました。
- 子ノードがその親ノードへの参照を維持するようにしたい場合、toJSON を呼び出すときに Backbone.js がクラッシュする原因となる循環関係が発生します。
この問題を解決するにはどうすればよいですか?
どうもありがとう。