首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复合键Backbone.js

复合键Backbone.js
EN

Stack Overflow用户
提问于 2012-02-22 23:32:03
回答 2查看 3.4K关注 0票数 3

是否可以使Backbone.js与复合键一起工作?

Id,而不是将ididAttributemodel设置为特定的值,我想知道将使用多个属性的Backbone.js。这样,每个RESTful调用都会发送这两个参数来标识我们正在讨论的对象。

为了举个例子,假设我想将一个人的债务更新给一个特定的人,模型是:

代码语言:javascript
复制
Borrower (borrowerId, name, ...)
Lender (lenderId, name, ...)
Debt (borrowerId, lenderId, debtAmount)

因此,我现在想让Backbone.js更新/删除债务对象。如何使它与复合键(borrowerId, lenderId)一起工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 23:56:40

您可以覆盖模型的url()实现,如骨干文件中所建议的那样

代码语言:javascript
复制
var Debt = Backbone.Model.extend({
  url: function() {
    var base = /* your base URL here */;
    if (this.isNew()) return base;
    return base + (base.charAt(base.length - 1) == '/' ? '' : '/') + encodeURIComponent(this.get("borrowerId")+"_"+this.get("lenderId"));
  }
});

以上代码将生成表单baseURL/borrowerId_lenderId的URL。请注意,在构造模型的URL时,可能需要考虑集合基URL。

票数 4
EN

Stack Overflow用户

发布于 2018-03-31 18:25:09

您需要覆盖集合上的URL函数和modelid函数。默认情况下,URL只知道如何处理单个属性,因此需要一种方法来映射它。

集合在get期间使用字典查找元素。有一个modelId函数可以将模型转换为表示字典中使用的键的强函数。对于化合物,你让它返回'‘+ id1 + '-’+ id2或类似的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9404922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档