Коллекция Backbone.js из нескольких подклассов модели

У меня есть REST Json API, который возвращает список «журналов». Существует много типов журналов, которые реализуют разное, но похожее поведение. Реализация этого на стороне сервера на уровне базы данных является своего рода наследованием одной таблицы, поэтому каждое JSON-представление журнала содержит его «тип»:

[
  {"type": "ULM", "name": "My uml logbook", ... , specific_uml_logbook_attr: ...},
  {"type": "Plane", "name": "My plane logbook", ... , specific_plane_logbook_attr: ...}
]

Я хотел бы реплицировать эту модель сервера на стороне клиента, поэтому у меня есть базовый класс журнала и несколько подклассов журнала:

class Logbook extends Backbone.Model

class UmlLogbook extends Logbook

class PlaneLogbook extends Logbook

...

My Backbone.Collection - это набор моделей журнала , которые я использую для запроса JSON API:

class LogbookCollection extends Backbone.Collection
  model: Logbook
  url: "/api/logbooks"

Когда я получаю коллекцию журналов, есть ли способ преобразовать каждый журнал в соответствующий подкласс (на основе атрибута JSON «type»)?

63
задан Prasanth A R 30 August 2013 в 10:20
поделиться