【问题标题】:Backbone/Backbone-Relational with Custom Sync具有自定义同步的主干/主干关系
【发布时间】:2014-03-24 18:34:14
【问题描述】:

我正在开发一个 Backbone.js 应用程序。我还在使用第 3 方 API 来访问我在应用程序中的数据。这个第 3 方 API 不提供 Backbone 期望的标准 REST 接口。

我听说我可以扩展或重载 Backbone.Sync 函数以使 Backbone 与 3rd 方 API 一起工作,但我无法找到任何示例来确定如何做到这一点。

有没有人知道任何可用的示例或教程?谁能举个例子?

此外,我最近发现了 Backbone-Relational,它可能在我的应用程序中派上用场,而且我的数据是关系型的。但是,我担心将 Backbone-Relational 与自定义 Backbone.Sync 函数一起使用也可能会导致问题。有人有这方面的经验吗?

【问题讨论】:

    标签: javascript backbone.js backbone-relational


    【解决方案1】:

    一般来说,您编写自定义函数来使用您的 3rd 方 API 执行基本 CRUD 操作,然后覆盖 Backbone.sync 以打开要使用的方法。

    Backbone.sync = function(method, model, options){
      switch(method) {
        case 'create':
          console.log('Creating: ', model);
          break;
        case 'read':
          console.log('Reading: ', model);
          break;
        case 'update':
          console.log('Updating: ', model);
          break;
        case 'destroy':
          console.log('Destroying: ', model);
          break;
    }
    

    如需更多深度和演练,请查看 DailyJS 的 Backbone+RequireJS+GoogleAPI 的教程,特别是 part 2part 4

    再举一个例子,查看Backbone localStorage adapter 的源代码,因为它会覆盖Backbone.sync 以持久化到localStorage,而不是通过网络。

    【讨论】:

    • 我在昨天发布这个问题后不久就找到了 LocalStorage 适配器示例。这对我开始很有帮助。你知道这是否仍然适用于 Backbone-Relational?我需要做些不同的事情吗?
    • 我对 Backbone-Relational 没有任何经验。我快速查看了源代码,它似乎不会干扰或改变Backbone.sync 的工作方式。插上电源并拨动开关 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2014-09-08
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多