我已经研究Backbone.js数周了,使用带有模型,路由器和集合的 View 感到很舒服。

我仍然有一些差距:

  • idcididAttribute之间有什么联系?它们如何相互影响?
  • 新模型何时确切获得其ID?服务器负责分配它吗?我是否需要将其添加到模型的defaults中(也许作为函数)?也许addNewModel函数应该这样做?
  • 最佳答案



    cidid都应该是模型的唯一ID,并且可以用于retrieve模型from集合。

    两者之间的区别在于cid是由bone.js客户端分配的,如果您没有实际的ID,则很有用,因为该模型尚未保存到服务器,或者您甚至没有将其保存到服务器。将其保存到数据库(也许您正在使用localStorage)。 id属性应该是来自服务器的模型的ID(即该ID在您的数据库中)。 idAttribute告诉 Backbone 服务器应使用哪个“字段”来更新id属性,默认情况下此属性设置为“id”,但正如documentation中所说,如果服务器使用其他内容,则可以将其设置为(给定的示例将其设置为“_id”。



    当保存到server时,它们应该获得新的ID,除非您需要对该过程进行更多控制,否则您无需手动进行设置(基于idattribute)。

    10-07 14:28