Backbone.js - id与id属性与cid

wqlqzqxt  于 2022-11-10  发布在  其他
关注(0)|答案(4)|浏览(183)

我研究Backbone.js已经有几个星期了,我对使用模型、路由器和集合的视图感到很舒服。
我还有些大差距:

  1. idcididAttribute之间的联系是什么?它们如何相互影响?
    1.一个新的模型什么时候得到它的ID?服务器负责分配它吗?我需要把它添加到模型的defaults中吗(也许作为一个函数)?也许addNewModel函数应该这样做?
crcmnpdw

crcmnpdw1#

idcididAttribute之间的联系是什么?它们如何相互影响?
cid和id都应该是模型的唯一id,并且可以用于从集合中检索模型。
两者的区别在于cid由backbone.js客户端分配,如果您没有实际的id,这可能是因为模型还没有保存到服务器上,也可能是因为您甚至没有将其保存到数据库中id属性应该是来自服务器的模型的id idAttribute告诉 Backbone 网它应该使用来自您的服务器的哪个“字段”来更新id属性,默认情况下,它被设置为“id,”但正如文档中所述,如果您的服务器使用其他内容,您可以将其设置为该值(给出的示例是将其设置为“_id”。
一个新的模型什么时候得到它的ID?服务器负责分配它吗?我需要把它添加到模型的defaults中吗(也许作为一个函数)?也许addNewModel函数应该这样做?
当保存到服务器时,它们应该获得新的id,除非你需要对进程进行更多的控制,否则你不应该需要手动设置它(基于idattribute)。

tyu7yeag

tyu7yeag2#

id -在创建模型时手动设置的id,或者在将模型保存到服务器上时填充的id(请参见底部的“idAttribute”以查看连接)。这是在从服务器加载或更新模型时发送到服务器的id,例如,对于模型Person,如果id为123,则将进行此调用,“/person/123”
cid -唯一id设置我 Backbone 模型供内部使用
idAttribute -当模型保存在服务器上时,它决定了哪个属性将作为唯一的id(默认值为“id”),例如,模型在服务器上的唯一键可能由“personId”定义,因此当调用fetch时,模型将把服务器响应从“personId”Map到 Backbone.js 模型中的id。

du7egjpx

du7egjpx3#

id是服务器型号ID,cid是客户端ID。

  • 服务器型号:如Rails模型
  • 客户机型号: Backbone 模型
tvz2xvvm

tvz2xvvm4#

模型上的id属性是根据模型属性散列中设置的id自动分配的。理想情况下,这是您从rest API接收的用于查询的资源的ID。另一方面,cid是临时分配给每个模型的ID,在确定对象的实际ID之前,它是有用的。例如,推送到集合中的模型还没有被持久化,可以使用cid来寻址,直到它被保存在数据库中并且为它生成了一个实际的ID。

相关问题