Я изо всех сил пытаюсь разобраться с коллекциями, моделями и т. Д. В Backbone.
Допустим, приложение состоит из боковой панели, таймлайдера и столбчатой диаграммы:
![Web app mockup](https://i.stack.imgur.com/hS1t3.png)
Чтобы обеспечить некоторый фон, я ранее реализовал класс columnChart, используя шаблон функционального наследования:
namespace.columnChart = function() {
var chart = {};
var width = 500;
var height = 500;
var data = [];
chart.setState = function(state){
data = state.data;
updateVis();
}
function updateVis(){
... render chart based on state ...
}
return chart;
}
При простом связывании я могу вызвать метод setState для columnChart при, например, добавлении нового объекта из боковой панели. Но по мере роста модели (а состояние усложняется с помощью таких переменных, как год, currentSelection, chartType и т. Д.), Что я также хотел бы отразить в URL, я бы хотел использовать MVC и, в частности, Backbone.js.
- Так как мне структурировать это в Backbone?
- Должен ли я переписать свой класс columnChart (и аналогичные классы)?
- Есть ли простой способ определить, что изменилось в состоянии, и установить новое состояние только с помощью этих параметров?
Был бы очень признателен за пример соединения боковой панели, таймлайдера и столбца с использованием Backbone.
Спасибо.