是否可以让Backbone.js使用复合键?
Id est,而不是将id
或idAttributemodel
设置为一个特定的值,我想知道Backbone.js,我将使用多个属性。这样,每个RESTful调用都将发送这两个参数来标识我们正在讨论的对象。
举个例子,假设我想更新一个人对特定人的债务,模型是:
Borrower (borrowerId, name, ...)
Lender (lenderId, name, ...)
Debt (borrowerId, lenderId, debtAmount)
所以,我现在想让Backbone.js更新/删除一个debt对象,我怎样才能让它使用复合键(borrowerId, lenderId)
呢?
2条答案
按热度按时间v2g6jxz61#
您可以覆盖模型的
url()
实现,如Backbone文档中所建议的:上面的代码将产生
baseURL/borrowerId_lenderId
的URL。注意,在构造模型的URL时,您可能需要考虑集合的基本URL。i7uq4tfw2#
你需要覆盖集合上的URL函数和modelid函数,URL默认只知道如何处理一个属性,所以你需要一种方法来Map它。
集合使用字典在get过程中查找元素。有一个modelId函数可以将模型转换为表示字典中要使用的键的强函数。对于复合函数,可以使其返回'' + id 1 + '-' + id 2或类似的值。