我正在努力理解Backbone中的集合、模型等概念。
假如应用程序由侧边栏、时间滑块和柱状图组成:
为了提供一些背景,我之前使用了函数继承模式实现了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;
}
通过简单的绑定,我可以在侧边栏添加新实体时调用columnChart的setState方法。但是随着模型的增长(以及状态变得越来越复杂,例如年份、当前选择、图表类型等),我也希望在URL中反映出来,并利用MVC和特别是Backbone.js。
- 那么我应该如何在Backbone中构建这个结构?
- 我应该重写我的columnChart类(和类似的类)吗?
- 有没有一种简单的方法来检测状态中发生了什么变化,并仅使用这些参数设置新状态?
非常感谢您提供使用Backbone将Sidebar、Timeslider和Column chart绑定在一起的示例。
谢谢。