0

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

在浏览了文档之后(虽然对 .coffee 或 .js 没有太多经验),我无法弄清楚如何让脊椎使用我自己的地图来存储模型。

如果有人能告诉我如何使用我自己的地图,或者至少为我指出正确的方向,那就太好了。

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


如果上述解决方案不可行,我将尝试在模型创建/更新/销毁上捕获事件并将它们复制到我自己的地图上。对于该解决方案,我需要修改 Model.ajax 中的哪些方法?

4

1 回答 1

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()
于 2013-05-28T15:36:53.467 回答