0

我的模型看起来像这样:

  var Item = Backbone.Model.extend({
    urlRoot: '/item/ajax_get'
  });

如果我想从数据库中获取特定项目,我可以这样做:item = new Item({id: 11});

但是,如果我不知道id我想要获取的项目怎么办?相反,我想查询数据库(通过 AJAX)以获取最新item排序的timestamp. Backbone.js 有可能吗?

4

1 回答 1

3

Backbone.js 是为 RESTful API 设计的,因此在这些术语中,您要查找的是按时间戳降序排序的集合的第一项。这意味着您正在查看的内容类似于

GET /items/?count=1&sortBy=timestamp&order=descending

这意味着您将在主干.js 中有类似以下代码的内容

var Item = Backbone.Model.extend({
});

var ItemCollection = Backbone.Collection.extend({
  model: Item,
  url: '/items/'
});

var collection = new ItemCollection();

collection.fetch({
  data: {
    count: 1,
    sortBy: 'timestamp',
    order: 'descending'
  }
}).then(function () {
  var myItem = collection.models[0];
}, function (error) {
  console.log(error);
});
于 2013-07-27T15:33:52.460 回答