如何同步两个代表相同对象但具有不同cid的模型?

时间:2012-05-22 07:22:55

标签: backbone.js backbone-relational marionette

在我的应用中,用户可以创建车辆。在“show specific vehicle”页面上,我有一个Vehicle实例(它扩展了Backbone Relational的RelationalModel)。当我改变车辆的化身时,这个模型就会改变。

在应用程序的另一页“显示车辆清单”中,我有一个显示用户车辆的图库。模型(车辆的实例)也在一个集合中。不幸的是,当用户在节目页面中更改车辆的头像时,它们具有不同的CID,因此无法正确更新。

如何处理?我希望车辆#9在任何地方都一样。

1 个答案:

答案 0 :(得分:4)

我将定义一个应用程序级别的vehicleCollection(A),您可以在其中存储从返回车辆(B,C)的每个请求中获得的所有车辆。由于每个vehicleId都是相同的,所以当你从其他集合提取(B,C)循环结果集时,如果模型已经存在,你可以在主集合(A)中查找。

您很可能需要使用临时集合并从主集合中注入相关模型(A)

如果您查看Backbone软件包附带的测试(或者只是访问他们的github repo),您可以清楚地看到它是如何工作的,将相同的模型添加到不同的集合中