【问题标题】:Backbone.js - decoupling a data source?Backbone.js - 解耦数据源?
【发布时间】:2011-11-07 19:54:57
【问题描述】:

我有这个 Backbone 模型:

graphModel
 attributes
   country
   indicator
   year

有对应的视图:

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

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

dataSource
  indicators
    indicatorA
      country
        year
    indicatorB
      countries
        years

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

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

【问题讨论】:

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


    【解决方案1】:

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

    但无论如何。我可以谈谈我们在一些脱钩方面的经验。我们经常构建模型并使用 Backbone 的“默认”值,例如 Backbone 文档中的这个示例:

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

    使用这样的预填充模型,我们可以将视图绑定到模型并将该数据呈现到页面。同样,如果您有任何其他来源可以轻松获取所需数据(可以使用 jQuery 的 .load() 函数加载罐头文件,或者可以通过模型的 .set( ) 函数)。

    【讨论】:

      【解决方案2】:

      据我了解,您有不同型号的单一 URL,并且您希望在设置或更改型号之前以某种方式对其进行检查。

      您可以在模型上使用parse() 方法来更改其内容,请参阅http://documentcloud.github.com/backbone/#Model-parse

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多