作为论文项目的一部分,我希望扩展Spine.Model以支持实时对象的编辑。我目前的脊柱应用程序正在使用Model.local。当我使用浏览器的dev工具运行应用程序时,我可以看到所有的模型都存储在地图中。我想做的是让Spine使用我自己的map (来自google的实时地图)来存储模型,然后重写创建、更新、破坏等功能,以便与驱动器api一起工作。
在阅读了文档之后(虽然我对.coffee或.js没有太多的经验),我不知道如何让脊柱使用自己的地图来存储模型。
如果有人能告诉我如何使用我自己的地图,或者至少给我指明正确的方向,那就太好了。
p.s:如果使用干净的解决方案实现成功,我希望能够将其作为对框架的贡献。
如果上面的解决方案是不可能的,我将尝试捕捉模型创建/更新/销毁上的事件,并将它们复制到我自己的地图上。对于该解决方案,我需要修改Model.ajax中的哪些方法?
发布于 2013-05-28 15:36:53
如果我理解您试图正确地做什么,我将从重写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()https://stackoverflow.com/questions/16739745
复制相似问题