【问题标题】:Understanding backbone.js collections了解backbone.js 集合
【发布时间】:2012-11-30 09:01:04
【问题描述】:

我试图了解backbone.js 集合是如何工作的。假设我有一个数据库,比如说用户。我想要一个简单的用户。

什么是正确的方法?定义 users 集合,然后在集合范围内访问所需的模型?或者为单个用户覆盖模型的url REST CRUD 方法是否100% 合法?

如果第一个选项是正确的,我应该如何处理收集延迟初始化?如果第二个没问题,如果我尝试显示最近登录的用户会发生什么(这意味着我必须使用一个集合,并且覆盖的 url 属性可能会影响这一点)。

我觉得我缺少链中的链接,但在文档中找不到它。

【问题讨论】:

  • 基本上,Backbone 不会给你提示这类事情,你必须决定如何做这些事情,一切合法的 JavaScript 对 Backbone 来说都是合法的。

标签: javascript backbone.js


【解决方案1】:

当使用这样的集合时,您通常会通过 Backbone.Collection 加载数据并通过集合内的 Backbone.Model 实例操作单个记录。对于用户,当前登录的用户将是模型,但如果您正在查看和使用用户表中的其他数据,则将通过集合加载。

  • 创建 1 个用户 -> 使用 Backbone.Model.save() -> POST /user
  • 读取 1 个用户 -> 使用 Backbone.Model.fetch() -> GET /user/42
  • 更新 1 个用户 -> 使用 Backbone.Model.save() -> PUT /user/42
  • 删除 1 个用户 -> 使用 Backbone.Model.destroy() -> 删除 /user/42

  • 加载一批用户 -> 使用 Backbone.Collection.fetch() -> GET /users

  • 按排序顺序加载一批用户(例如按最近登录)-> 在 URL 中使用带有正确查询字符串的 Backbone.Collection.fetch() -> GET /users?order_by=login

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 2012-10-30
    • 2011-12-19
    • 2014-03-12
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多