2013-11-01 4 views
0

У меня есть следующие структуры данных:Как сохранить структуру данных в магистрали?

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

Из приведенной выше коды:

  1. type_ {п} - это уникальный
  2. Каждого типа может хранить массив массивов, которые могут хранить простые объекты с данные

Можете ли вы посоветовать, как я могу построить свои модели и коллекции в соответствии с этой схемой, и что я должен использовать для моделей и коллекций? Спасибо.

ответ

1

Кажется, что ваши данные являются моделью, и каждый тип_ {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); 
Смежные вопросы