解耦一个数据源
Backbone.js - decoupling a data source?
我有这个Backbone模型:
graphModel
attributes
country
indicator
year
与相应的视图:
graphView
render()
this.model.get(...)
应用程序还有一个通用数据源,用于加载csv数据:
dataSource
indicators
indicatorA
country
year
indicatorB
countries
years
每次更改模型属性时,我想在触发更改事件之前检查该属性组合的数据是否加载。
我的问题是:什么是将数据源与骨干模型和视图解耦的好方法,以便我可以轻松地尝试注入的模拟数据?
我有点不清楚当你说的应用程序有一个数据源填充的CSV数据,你说的是一个应用程序的服务器端,然后骨干通信或客户端。
但是不管怎样。我可以谈谈我们在脱钩方面的经验。我们经常构建模型,并使用Backbone的能力来拥有"默认"值,就像Backbone文档中的这个例子:
var Meal = Backbone.Model.extend({默认值:{"开胃菜":"凯撒沙拉";"主菜":"馄饨","甜点":"芝士蛋糕"}});
有了这样预填充的模型,我们就可以将视图绑定到模型并将该数据呈现给页面。类似地,如果您有任何其他可以轻松获得所需数据的来源(可以使用jQuery的.load()函数加载压缩文件,或者可以通过模型的.set()函数转储文本区域的内容)。据我所知,你对不同的模型有一个URL,你想在设置或更改模型之前以某种方式检查它。
你可以在模型上使用parse()
方法来改变它的内容,参见http://documentcloud.github.com/backbone/#Model-parse
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 为剑道数据源提供一个角度范围变量
- 我想使用 getorgchart API 创建一个动态图表,但在设置 jquery 的数据源属性时存在一些问题
- 绑定一个kendogrid,带有大型数据源(json数组),任何动态的都需要
- 如何在一个带下划线的js模板中插入多个数据源
- 多个选择菜单一个数据源
- 在一个视图中为多个ng-grid提供多个数据源
- 解耦一个数据源
- 从一个ajax GET创建多个数据源
- 添加"literal HTML"转换为一个HTML小部件,其中包含来自数据源的数据
- Jquery自动完成数据源基于一个动态输入id
- 添加一个";所有";项到由远程数据源填充的kendoui列表视图