javascript - Backbone.js - 解耦数据源?

标签 javascript model-view-controller backbone.js decoupling

我有这个 Backbone 模型:

graphModel
 attributes
   country
   indicator
   year

有相应的 View :

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

该应用程序还有一个用于加载 csv 数据的通用数据源:

dataSource
  indicators
    indicatorA
      country
        year
    indicatorB
      countries
        years

每次更改模型属性时,我想在触发更改事件之前检查是否加载了该属性组合的数据。

我的问题是:将数据源与 Backbone 模型和 View 解耦的好方法是什么,以便我可以轻松地尝试注入(inject)模拟数据?

最佳答案

当您谈论具有填充有 CSV 数据的数据源的应用程序时,我有点不清楚您是在谈论 Backbone 随后与之交谈的应用程序的服务器端还是客户端。

但无论哪种方式。我可以谈谈我们在某些脱钩方面的经验。我们经常构建模型并使用 Backbone 的功能来获得“默认”值,例如来自 Backbone 文档的示例:

var Meal = Backbone.Model.extend({ 默认值:{ “开胃菜”:“凯撒沙拉”, “主菜”:“馄饨”, “甜点”:“芝士蛋糕” } });

有了像这样预填充的模型,我们就可以将 View 绑定(bind)到模型并将该数据呈现到页面。同样,如果您有任何其他来源,您可以考虑轻松获取所需数据( jar 装文件可以使用 jQuery 的 .load() 函数加载,或者文本区域的内容可以通过模型的 .set( ) 函数).

关于javascript - Backbone.js - 解耦数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041790/

相关文章:

javascript - 为什么 Closure Compiler 会破坏这个 AngularJS 脚本?

model-view-controller - 可能违反单一职责原则的 Controller ?

当集合获取成功回调调用渲染时测试 Backbone View

javascript - 使用单选按钮显示文本区域和复选框

javascript - 如何重构/提取方法以分离文件以供重用

c# - 如何在 Fluent 验证中根据字符串列表验证字符串?

javascript - 使用 $.html() 时如何提高渲染性能

javascript - 使用主干设备 rails 进行身份验证

javascript - Google Maps HeatmapLayer 可点击端点

c# - Unity IOC,无法修复无参数构造函数问题