Backbone JS 模型和集合 URL

2024-03-26

如果我有一个名为“Book”的模型和一个名为“Library”的集合,定义如下:

Book

app.Book = Backbone.Model.extend({
    defaults: {
        title: 'No title',
        author: 'Unknown'
    }
});

Library

app.Library = Backbone.Collection.extend({
    model: app.Book,
    url: '/api/books'
});

当我打电话时BookInstance.save()它是如何得出要使用的 URL 的?它是从集合中派生出来的吗?

In Backbone.model有2个选项:url and urlRoot。它们的目的和区别是什么?

In Backbone.collection,有一个参数url。这总是 RESTFUL api 的 GET 请求吗?


基本上,有 3 种可能性来构建模型的 url:

  • 如果模型对象存在于集合中,那么它的url方法将返回一个由以下组成的地址collection.url and model.id: [collection.url]/[id].

  • 如果您不想使用集合中的模型,那么model.urlRoot的值可以用来代替collection.url片段,产生以下模式:[urlRoot]/[id].

  • 最后,如果您不打算将给定类型的多个模型持久保存到服务器,或者在创建每个模型时为其定义 URL,则可以直接为model.url.

集合仅发送 GET 请求——以获取模型的 JSON 数据数组。为了保存、删除和更新,单个模型的save()(发布/放置/补丁)和destroy()使用 (DELETE) 方法。

这是源代码Backbone.Model.url http://backbonejs.org/docs/backbone.html#section-90,这应该可以帮助您:

url: function() {
  var base =
    _.result(this, 'urlRoot') ||
    _.result(this.collection, 'url') ||
    urlError();
  if (this.isNew()) return base;
  var id = this.get(this.idAttribute);
  return base.replace(/[^\/]$/, '$&/') + encodeURIComponent(id);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Backbone JS 模型和集合 URL 的相关文章

  • 为什么在 Backbone 模型中使用 getter 和 setter?

    为什么 Backbone 模型中有 getter 和 setter 没有私有 受保护的属性 因此 getter 和 setter 对于封装来说有点无用 我知道它们对于验证很有用 但除此之外 如果我们可以绕过它们 它们的用处是什么 set不是
  • 使用backbone.marionette和requireJs的Web应用程序的循环依赖关系

    我处于以下情况 我正在使用 requireJs 加载模块 并且不想使用全局变量 main js 负责加载路由器 然后路由器加载应用程序 应用程序加载几个子应用程序 一切都初始化后 子应用程序需要router制作router navigate
  • 使用backbone.js处理belongs_to关系

    我对backbone js有点陌生 我正在努力获取具有belong to关系的集合 我想获取用户列表 users GET 并且我想显示所有用户 但带有belongs to关联 例如显示用户的公司名称 有人知道解决办法吗 我正在将 Ruby
  • 如何从backbone.js中的模型获取数组元素

    我有以下代码 Person new Backbone Model data age 27 name alamin 现在 我怎样才能得到这个值 person new Person person get 请给我一个解决方案 如果您使用此模型 P
  • Backbone.js 控制器中的默认路由?

    我想为我的backbone js 控制器设置默认路由 目前我是这样做的 class DealSearchController extends Backbone Controller routes list showListView phot
  • Javascript MVC 框架的目的[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道 Javascript MVC 框架 例如 Backbone js 和 Spine js 的用途 作为一名热心 经验丰富的 Ruby o
  • 如何在 Backbone.js 的模型中放置集合?

    我想了解如何在模型中添加集合结构 我的简单应用程序有团队 因此团队模型和团队集合 每个团队都有一群玩家 玩家模型和玩家集合 所以它的视觉结构是这样的 Team A Player 1 Player 2 Player 3 Team B Play
  • 使用 $(function 等启动 javascript 代码

    我正在研究 Backbone 和来自的待办事项示例应用程序http todomvc com http todomvc com 我注意到有 3 种方法可以在文件中启动代码 function code here function code he
  • 主干导航在 Firefox 中触发两次

    尝试使用 Backbone 的导航属性 this navigate week companyName employeeNo weekEnd trigger true replace false 上面的代码执行一次 它击中了这个 routes
  • Coffee HAML 中的部分内容 (.hamlc)

    我在 Rails 后端使用backbone js哈姆咖啡 https github com netzpirat haml coffee 它是由haml 咖啡 资产 https github com netzpirat haml coffee
  • 骨干木偶区域显示无渲染

    是否可以将已渲染的视图放入骨干牵线木偶区域而无需再次渲染 例如 region show myView This will call render on myView 我不希望该区域再次呈现我的视图 If I do region attach
  • 带有通配符的主干事件

    有没有办法监听命名空间的所有事件 所以当我听到这样的事件时 app vent on notification id function type console lof type 它将监听所有这样的事件 app vent trigger no
  • 如何在 Backbone.js 中加载具有外键关系的子模型?

    抱歉 如果这有点复杂 我仍在学习 Backbone js 加载和保存内部具有子模型的 Backbone 模型的正确方法是什么 我什至应该有子模型吗 例如 请原谅咖啡脚本 如果我有类似的东西 class Address extends Bac
  • 使用 Backbone-Relational 实现多对多关系

    我有一个简单的应用程序 它定义了两个类 一个Person and a PersonGroup 其中存在多对多关系 一个人可以没有组 或者被分配到所有组 以及介于两者之间的任何组 backbonerelational org 上的示例建议对多
  • Backbone.js 收集抛出错误

    我 作为初学者 正在制作一个小型骨干函数来附加我的链接 为此我使用要分配模型的集合 但集合抛出错误 任何人都可以纠正我的代码吗 function var Model new Backbone Model data name Yahoo hr
  • Backbone.Marionette 在路由更改时更改区域

    我的应用程序有一个主区域 有时主区域中会有一些应可通过 URL 访问的子区域 主要区域内容由应用程序路由器的功能更改 因为他知道主要区域 但是子视图中的临时区域呢 例如网址 docs将显示文档链接列表以及 doc id应在列表旁边显示文档的
  • 在backbone.js 中缓存集合?

    确保我的集合保持缓存并仅获取一次的最佳方法是什么 我应该实现某种缓存层吗 我应该分享Collection变量到需要的地方 我可以信任 jQuery 的 AJAX 设置吗 ajaxSetup cache true 现在看起来的基本集合 the
  • 如何定义与 Backbone 一起使用的 jade 模板

    我需要使用模板来渲染每个 ItemView var ItemView Backbone View extend className item template template itemTemplate html initialize fu
  • 如何从 Backbone 集合中提取多个属性?

    我试图从 Backbone 集合中提取多个属性 但它返回undefined 收藏 id 1 name raju age 23 sex male hobbies id 2 name ramesh age 43 sex male hobbies
  • 获取集合时的 ​​Backbone.js 进度条

    我想在用新内容更新应用程序时显示进度条 我想最好的办法是在集合上调用 fetch 时执行此操作 我获取的内容主要是图像 视频海报等 但我只获取链接 而不是 base64 字符串或大的东西 我想做的是在获取图像链接时用进度条覆盖屏幕 渲染视图

随机推荐

  • 软件包“pecl.php.net/intl”没有可用的版本

    我正在尝试为 php 安装 intl 当我跑步时sudo pecl install intl它给了我一个错误No releases available for package pecl php net intl 我尝试过清除缓存 也尝试过升
  • 使用 bash 从文本文件中读取字符

    有谁知道如何使用 bash 脚本从文件中读取前两个字符 有问题的文件实际上是一个 I O 驱动程序 其中没有换行符 并且实际上无限长 The read内置支持 n范围 echo Two chars while read n 2 i do e
  • 从 Web 项目中排除 node_modules 目录

    如果我右键单击我的项目并选择 发布 Web 项目 我将收到有关目录名称长度的错误 我已经追踪到了node modules 我想从进程中排除该目录及其内容 我们使用一个 pubxml文件 我尝试添加以下内容之一或以下内容的组合
  • 强制渲染已计算的反应元素

    我正在尝试构建一个闪亮的应用程序 通过不同的 render 函数输出多个结果 问题是其中一个结果需要一些时间来计算 所以我希望shiny能够尽快渲染出快速的结果 这是一些代码来说明 ui R library shiny shinyUI fl
  • C++20 模块导出模板实例化

    我正在创建一个库 并且 C 20 模块内有一个类模板 我想添加一个实例化 以减少使用我的库的每个项目的编译时间 这些不同的实现是否等效 或者是否有更好的方法来实现 1 mod cpp export module mod export tem
  • QProcess未知错误

    我遇到了奇怪的问题 QProcess 只是不工作 并且错误未知 我在标头中有全局变量 QProcess importModule 我得到了这个功能 我尝试了start and startDetached顺便说一句方法 void App op
  • jQuery UI 在搜索之前自动完成显示结果

    我希望在我的项目中在关注自动完成输入之前显示一些初步结果 这些结果应该与自动完成 ajax 请求的结果相同 我可以通过自动完成的标准选项来做到这一点 还是应该编写相同的 JavaScript 代码 您应该设置minLength选项0 如果您
  • 如何使用javascript下载网页[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 可以读取任何网页的源代码吗 https stackoverflow com questions 680562 can javascript read the source of
  • 打印 C 字符串(UTF-8)时的 NSLog() 与 printf()

    我注意到 如果我尝试使用格式说明符 s 打印包含 UTF 8 字符串表示形式的字节数组 printf 说得对 但是NSLog 得到它乱码 即 每个字节按原样打印 因此例如 被打印为2个字符 这很奇怪 因为我一直认为NSLog 只是print
  • 如何根据条件 $push 字段?

    我试图在 MongoDB 聚合管道的 group 阶段有条件地将字段推入数组 本质上 我有包含用户名的文档以及他们执行的一系列操作 如果我将用户操作分组如下 group id name user name actions push acti
  • rows_merged在compactionhistory中意味着什么?

    当我发出 nodetool compactionhistory I get compacted at bytes in bytes out rows merged 1404936947592 8096 7211 1 3 3 1 什么是 1
  • 允许在 ckeditor 中嵌入 oembed 标签

    我想将 oembed 标签放入 TYPO3 的 ckeditor RTE 中 这样我想将像 Instagram Facebook 或 Twitter 这样的社交帖子放入一些新闻文章中 在一些文本的中间 为此 我激活了 ckeditor 的嵌
  • 快速连续旋转动画不那么连续

    这是我的代码 目的是连续旋转名为 swirls l 的 UIImageView 但是 每次旋转开始 结束之间都会有一个小暂停 我已经浏览了每一个动画教程 但无法弄清楚错误是什么 let fullRotation CGFloat M PI 2
  • 库中是否可以有 SyncAdapter?

    我正在开发一个将由多个应用程序使用的库 图书馆需要进行网络同步 我已经创建了一个存根提供商和帐户 如此处所述 http developer android com training sync adapters index html 问题是
  • MongoDB 查询注释以及用户信息

    我正在使用 nodejs 和 mongod 不是 mongoose 创建一个应用程序 我有一个问题让我头痛了几天 有人请建议一个方法 我有一个像这样的 mongodb 设计 post id ObjectId picture some url
  • Django - 使用 ManyToManyField 进行反向查找

    我正在尝试遵循 django 文档中的代码 class Person models Model name models CharField max length 128 def unicode self return self name c
  • 相当于 float128

    如何使用等效的 float128在Python中 我应该使用什么精度decimal getcontext 我的意思是 精度是以小数位还是位指定的 from decimal import getcontext prec 34 or 128 是
  • 如何在 Selenium Python 中设置 Chrome 的首选项

    我可以如下设置 Firefox 的首选项 set preference profile set preference set preference network http response timeout 30 set preferenc
  • 如何为特定类别自定义 AutoFixture 行为

    我需要启用 AutoFixture 来创建具有循环引用的类型实例 来自第三方提供的 API 为此 我可以删除默认的ThrowingRecursionBehavior如下所示 public class RecursiveObjectCusto
  • Backbone JS 模型和集合 URL

    如果我有一个名为 Book 的模型和一个名为 Library 的集合 定义如下 Book app Book Backbone Model extend defaults title No title author Unknown Libra