0

我对 Backbone 还很陌生,为了更好地理解 Backbone,我一直在做教程,但我永远无法弄清楚可以在模型中定义的 url 是如何工作的。

网址:'/待办事项'

我来自 PHP 环境,习惯于静态页面。'/todoItem' 到底是什么?

谢谢你。

4

1 回答 1

6

Backbone 采用 REST 风格的 API,其中每个模型都是具有自己的 URL 路径的 REST 资源。因此,您可能可以执行以下操作:

  • 创建一个汽车资源POST /car
  • 读取特定的汽车资源GET /car/42
  • PUT /car/42使用 JSON 请求正文更新汽车特定资源,例如{"model": "Corolla"}
  • 删除特定的汽车DELETE /car/42

/car因此,对于一个模型来说,如果它是一个新的(尚未保存的)模型,则通常希望 URL 是,/car/42否则。因此,骨干网的默认实现是:

url: function() {
  var base = _.result(this, 'urlRoot') || _.result(this.collection, 'url') || urlError();
  if (this.isNew()) return base;
  return base + (base.charAt(base.length - 1) === '/' ? '' : '/') + encodeURIComponent(this.id);
},

所以通常情况下,您需要做的就是更改urlRoot属性,如果您的 API 遵循 REST 约定,您就可以开始了。

var Car = Backbone.Model.extend({urlRoot: '/car'});
于 2013-03-10T18:03:34.607 回答