Backbone.js - развязка источника данных? - PullRequest
2 голосов
/ 07 ноября 2011

У меня есть эта модель магистрали:

graphModel
 attributes
   country
   indicator
   year

С соответствующим представлением:

graphView
 render()
   this.model.get(...)

Приложение также имеет общий источник данных, в который загружаются данные csv:

dataSource
  indicators
    indicatorA
      country
        year
    indicatorB
      countries
        years

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

Мой вопрос: что такоехороший способ отделить источник данных от модели Backbone и представления, чтобы я мог легко попробовать с введенными фиктивными данными?

Ответы [ 2 ]

0 голосов
/ 10 ноября 2011

Насколько я понял, у вас есть один URL для разных моделей, и вы хотите как-то проверить его перед установкой или изменением модели.

Вы можете использовать метод parse() на модели, чтобы изменить ее содержимое, см. http://documentcloud.github.com/backbone/#Model-parse

0 голосов
/ 08 ноября 2011

Мне немного непонятно, когда вы говорите о приложении, в котором источник данных заполнен данными CSV, говорите ли вы о серверной части приложения, с которым затем взаимодействует Backbone, или о чем-то клиентском.

Но так или иначе.Я могу рассказать о нашем опыте, связанном с этим разделением.Мы часто строим модели и используем способность Backbone иметь значения «по умолчанию», как в этом примере из документации Backbone:

var Meal = Backbone.Model.extend ({defaults: {"appetizer": "caesar salad","entree": "ravioli", "десерт": "cheesecake"}});

С такой предварительно заполненной моделью мы можем затем привязать представление к модели и отобразить эти данные на странице.Точно так же, если у вас есть какой-либо другой источник, о котором вы можете подумать, чтобы легко получить нужные данные (стандартный файл может быть загружен с помощью функции .load () jQuery, или содержимое текстовой области может быть выгружено через модель .set () функция).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...