2013-11-01 20 views
0

我有以下的數據結構:如何在Backbone中存儲數據結構?

var data { 
    'type_1' : [ 
     [ 
      {}, {}, {} 
     ], 
     [ 
      {}, {} 
     ] 
    ], 
    'type_2': [ 
     [ 
      {}, {} 
     ] 
    ] 
    ... 
}; 

從上面的代碼:

  1. type_ {N} - 是唯一
  2. 每種類型可以存儲可以存儲與簡單對象數組的數組數據

可否告誡我該如何根據此模式構建我的模型和集合,那麼我應該如何使用模型和集合? 謝謝。

回答

1

看起來好像您的數據是模型並且每個type_ {n}都是集合,但是在骨幹中我們不能這麼寫。如果我是你,我會做這樣的事情:

coll = [ 
      {}, {}, {} 
     ],// first collection 
     [ 
      {}, {} 
     ]// second collection 

因爲它增加了第二個收集到第一,他們被認爲是一個集合。所以我會從兩個集合中創建一個模型。總之,做自己通過代碼:

var SimpleModel = Backbone.Model.extend({}); 

var SimpleCollection = Backbone.Collection.extend({ model: SimpleModel}); 
var SubModel = Backbone.Model.extend({ 
    default: { 
     coll: new SimpleCollection() 
    } 
}); 
var SubCollection = Backbone.Collection.extend({ model: SubModel}); 
var ParentModel = Backbone.Model.extend({}); 

我用下面從瀏覽器的命令行代碼來檢查它,也許這有助於您太:

var s1 = new SimpleModel({"name":"n1"}); 
var s2 = new SimpleModel({"name":"n2"}); 
var s3 = new SimpleModel({"name":"n3"}); 
var c1 = new SimpleCollection(); 
c1.add(s1); 
c1.add(s2); 
var c2 = new SimpleCollection([s1,s2,s3]) 
var ss1 = new SubModel({"col" : c1}); 
var ss2 = new SubModel({"col" : c2}); 
var cc1 = new SubCollection([ss1,ss2]); 
var cc2 = new SubCollection([ss1]); 
var p1 = new ParentModel({"type_1": cc1, "type_2" : cc2}); 
JSON.stringify(p1);