backbone.js - REST api 中的 Backbone 和复合模型 - 可能吗?

标签 backbone.js backbone-routing backbone-model

首先,我很抱歉,因为我不确定问题标题是否准确描述了我正在尝试做的事情。我喜欢/讨厌 Backbone REST api 结构,但我正在尝试对其进行一些添加并支持模型之间关系的“图表”。

所以最简单的终点是这样的:

/machines/:id

/projects

但我想更进一步,展示关系的“图表”:

/machines/:machine_id/projects

/machines/:machine_id/projects/:project_id

我正在努力想出最好的方法,想知道是否有人愿意在这方面分享任何经验。就目前而言,我已经为 machinesprojects 以及非关系端点定义了模型。我想我的下一步是创建一个虚构的复合模型 MachinesProjects - 但不确定我将如何破解模型的 url 连接以响应表示 id 的不同属性。此外,我希望有更好的东西,因为我真的不想为模型类型之间的图中的每条弧显式定义模型。

最佳答案

像下面这样的东西怎么样?

var Machine = Backbone.Model.extend({
  urlRoot:"/machines"
});

var Project = Backbone.Model.extend({
  urlRoot:"/projects"
});

var MachineProject = Project.extend({
  url: function() {
    return this.machine.url() + Project.prototype.url.call(this);
  },
  initialize: function(options) {
    this.machine = options.machine;
  }
});

关于backbone.js - REST api 中的 Backbone 和复合模型 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987408/

相关文章:

javascript - Marionette 事件聚合器与主干路由器

javascript - 为什么在实现事件时不使用 IIFE 来保护隐私?

ruby-on-rails - Backbonejs 路由 VS emberjs 路由

当查询传递给路由时,backbone.js 路由包含/

javascript - 查找在 Backbone 集合中没有属性的模型

javascript - 使用小于或大于语句的 Where 查询集合?

javascript - 找出 Backbone "router"实际上得到了什么

javascript - 如何使用 .where() 查询主干中模型的嵌套对象

backbone.js - 主干js中的set和save方法有什么区别?

Backbone.js - 从集合创建中获取 id