вложенные модели с собственной коллекцией в backbone.js

Я работаю над приложением в Backbone.js и Jquery, которое требует, чтобы JSON был таким: -

{
      "FolderSummaryResponse": {
        "Status": "SUCCESS",
        "FolderItem": [
          {
            "Desc": "Immediate Action Required",
            "ID": "1",
            "RecordCnt": "0",
            "SeqCd": "1",
            "SubFolderItemList": {
              "FolderItem": [
                {
                  "Desc": "Customers to Call",
                  "ID": "10",
                  "RecordCnt": "0",
                  "SeqCd": "0"
                },
                {
                  "Desc": "PO Connect",
                  "ID": "17",
                  "RecordCnt": "0",
                  "SeqCd": "7",
                  "SubFolderItemList": {
                    "FolderItem": [
                      {
                        "Desc": "Inbound",
                        "ID": "73",
                        "RecordCnt": "0",
                        "SeqCd": "0"
                      },
                      {
                        "Desc": "Outbound",
                        "ID": "74",
                        "RecordCnt": "0",
                        "SeqCd": "1"
                      }
                    ]
                  }
                }
 ]
  }
    }

. В основном родительская и дочерняя структура. Как я могу создать модель и коллекцию для этого в магистрали? Пожалуйста, помогите мне, так как я совершенно не знаком с backbone.js.


person ashwin74268    schedule 18.03.2013    source источник
comment
Возможно ли изменить ответ JSON с сервера? Вам потребуется написать довольно много кода, чтобы все вышеперечисленное без проблем работало с Backbone.   -  person neebz    schedule 18.03.2013
comment
это пример ответа, количество FolderItems и SubFolderItemList будет различаться для разных условий. Не могли бы вы сообщить мне, есть ли способ создать модель, имеющую собственную коллекцию.   -  person ashwin74268    schedule 18.03.2013
comment
да, вы можете, но вам будет лучше, если ваш ответ JSON будет чем-то вроде [{ Desc: "PO Connect", subFolderList: [ {}, {} , {} ] }, { }, { }] - это будет намного проще проанализировать для Backbone по сравнению с приведенным выше ответом. Можно ли изменить код сервера?   -  person neebz    schedule 18.03.2013
comment
к сожалению, я не могу изменить ответ, я думал о создании вложенных моделей, но это не сработало. Ответ будет таким: {Родитель { ID : некоторое значение, Desc ; некоторое значение 1, дочерние элементы: {Родитель: [{ID: некоторое значение2, Desc: некоторое значение2}, {ID: некоторое значение3, Desc: некоторое значение3}]} }   -  person ashwin74268    schedule 18.03.2013


Ответы (1)


Существует библиотека JavaScript, расположенная поверх Backbone.js, которая уменьшает объем шаблонного кода, который вам нужно написать, и у них есть CompositeView, который лучше всего работает с вложенными коллекциями. Я включил документацию и статью, в которой обсуждается ее использование.

документация Marionette CompositeView

статья Marionette CompositeView

person Kalpers    schedule 19.03.2013
comment
Спасибо за помощь, попробую реализовать и сообщу. - person ashwin74268; 19.03.2013
comment
это то, что я искал..!! :) Благодаря тонну..!! :) - person ashwin74268; 19.03.2013