扩展脊柱 - 更改存储类型

时间:2013-05-24 16:36:37

标签: spine.js

作为论文项目的一部分,我希望扩展Spine.Model以支持编辑实时对象。 我当前的脊椎应用程序正在使用Model.local。当我使用浏览器的开发工具运行应用程序时,我可以看到我的所有模型都存储在地图中。我想做的是让Spine使用我自己的地图(来自谷歌的实时地图)来存储模型,然后覆盖诸如create,update,destroy之类的函数来使用驱动程序api。

在完成文档后(虽然没有太多使用.coffee或.js的经验)但我无法弄清楚如何让脊柱使用我自己的地图存储模型。

如果有人能告诉我如何使用我自己的地图,或者至少指出方向很好的方向。

p.s:如果使用干净的解决方案实现成功,我希望能够将其添加为框架的贡献。


如果上述解决方案无法实现,我将尝试捕获模型create / update / destroy上的事件并将其复制到我自己的地图上。对于那个解决方案,我需要修改Model.ajax中的哪些方法?

1 个答案:

答案 0 :(得分:1)

如果我理解你正在尝试做什么,我将首先考虑覆盖Model.attributes函数

attributes: ->
  result = {}
  for key in @constructor.attributes when key of this
    if typeof @[key] is 'function'
      result[key] = @[key]()
    else
      result[key] = @[key]
  result.id = @id if @id
  result

通过Model.toJOSN

发送和退出存储模型时使用的内容
toJSON: ->
  @attributes()