您的backbone.js 项目的最佳实践是什么?

2024-06-19

尽管我已经关注backbone.js 几个月了,并且学习了大量教程,但我仍然对在更大的项目中使用backbone(或我的相关技能)没有足够的信心。

我的经验是,backbone.js 教程的质量差异很大,有些已经过时了(尤其是backbone 文档中的示例待办事项应用程序)。

所以我想了解一下你们的backbone.js 最佳实践/秘诀?如何处理嵌套的集合/视图? JSON 序列化?模型之间的查询更复杂?


以下是您似乎问过的问题列表:

backbone.js 最佳实践/食谱
我的第一个练习/秘诀是深入研究骨干.js代码 http://documentcloud.github.com/backbone/docs/backbone.html并阅读它,甚至使用 js 调试器单步调试它。该代码有很好的文档记录,是现代 JS 代码的一个很好的例子。

如何处理嵌套的集合/视图?
据我所知,没有“简单的方法”来处理嵌套集合和处理子集合中发生的事件。你必须实施它。不过,我还没有处理过集合的集合,所以也许您可以通过重组您的“数据模型”来避免它。本身具有模型集合的模型可以满足模型的大部分要求嵌套模型.

就视图而言,您基本上可以控制它们的渲染方式。骨干网提供的视图只不过是一种将相应模型中的更改更改为渲染代码的机制。您实现渲染。因此,如果您想要嵌套视图,您可以使用支持部分的模板引擎(如果我正确理解嵌套视图的含义)。

JSON序列化
你有什么问题?主干文档说“强烈建议包含 json2.js”

模型之间的查询更复杂?
再说一遍,你的问题是什么? Backbone 为您提供了做自己事情的结构,您必须自己实现复杂性

模型之间的关系
同样,您正在实施模型。您的模型可以包含其他模型。您对他们做什么以及如何互动取决于您。根据我的经验,没有必要在 JavaScript 中复制后端数据模型。您的前端模型很可能会比后端模型更简单。

模型继承
通过使用backbone.js,您已经在使用模型继承。这就是当你写的时候会发生的事情var MyModel = Backbone.Model.extend...

抱歉没有提供更多细节,但正如托马斯·戴维斯所说,问题非常模糊。对于描述您遇到的具体问题的更详细的问题,您将获得更详细的答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您的backbone.js 项目的最佳实践是什么? 的相关文章

  • 主干表视图消耗行视图 - 如何构造?

    我有一组模型希望在表格视图中呈现 每个模型应由表中的一行表示 并且该行应使用模板生成 我应该能够将事件处理程序附加到该行 例如单击 在事件发生时发出有关与该行关联的模型的一些特定信息 我见过类似的事情的一种常见方法是将每一行分解到它自己的视
  • 使用 bootstrap-modal 作为 Backbone.js 视图

    我正在尝试创建一个基于 Twitter 引导模式的 Backbone js 视图 该视图通过以下方式使用 Backbone 的自动事件委托 events视图的属性 不幸的是 bootstrap modal 似乎破坏了 Backbone 的事
  • 车把模板的文件扩展名

    我更改了车把模板的扩展名 并在调用 handlebarjs 编译函数的函数中引用了相同的扩展名 它工作得很好 没有任何问题 但我很好奇是否还有其他人尝试过 如果您认为这可能会因任何原因导致问题 请告诉我 出于某种原因 我觉得扩展名 hand
  • 依赖注入与托管依赖关系与全局对象

    我正在 Javascript BackboneJS 一个 MVC 框架 RequireJS 框架中工作 但这个问题有点 OO 通用 首先让我解释一下 在 Backbone 中 您的视图是传统视图和控制器的混合 而您的 HTML 模板是传统的
  • 使用主干渲染引导模式

    我认为代码可以更好地解释我的问题 风景 App Views ErrorModal Backbone View extend template window template errorModal render function this e
  • 在backbone.js 中缓存集合?

    确保我的集合保持缓存并仅获取一次的最佳方法是什么 我应该实现某种缓存层吗 我应该分享Collection变量到需要的地方 我可以信任 jQuery 的 AJAX 设置吗 ajaxSetup cache true 现在看起来的基本集合 the
  • 如何从 Backbone 集合中提取多个属性?

    我试图从 Backbone 集合中提取多个属性 但它返回undefined 收藏 id 1 name raju age 23 sex male hobbies id 2 name ramesh age 43 sex male hobbies
  • Backbone-relational 无法实例化两个 RelationalModel 对象

    我正在尝试实现 BackboneRelational 并不断获得 无法实例化多个 Backbone RelationalModel 每种类型都有相同的 ID class App Models User extends Backbone Re
  • backbone.js + require.js + 用户认证

    开始学习backbone js和require js 不确定如何通过用户身份验证构建 Web 应用程序的文件 看起来应该是这样的 On app init query server to check auth session state Q
  • MarionetteJS:应用程序区域与布局[重复]

    这个问题在这里已经有答案了 我正在阅读最新版本 2 3 0 的文档 它说应用程序区域现已被弃用 应用领域 警告 已弃用 此功能已弃用 而不是使用 应用程序作为视图树的根 您应该使用布局 看法 要将布局视图的范围限制为整个文档 您可以设置 它
  • Backbone.js 模型或视图中的类私有属性

    模型中是否可以拥有私有属性 就像 构造函数 函数中本地声明的变量一样 不附加到this 但仅在 构造函数 函数中定义的内容在本地声明且可见 没有 BB 视图的示例 function MyView aModel var internalInp
  • Socket.IO - 开放连接是一个问题吗?

    我目前正在与DerbyJS http derbyjs com 因为它促进了干净 干燥的客户端 服务器代码 附带好处 大多数人使用该框架的主要原因 是它使用 Socket IO 来创建实时应用程序 在这种情况下 我不need实时 但这是一个很
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • 将 Backbone.js 集合渲染为选择列表

    我正在尝试将 Backbone js 集合渲染为select使用 Underscore js 模板创建列表 并且该列表未填充 这select元素正在显示 但没有options 我已经确认我能够将各个属性传递到我的模板中并将它们呈现为labe
  • backbone.js直接设置模型内部属性hash

    使用 Backbone js 我知道强烈建议使用以下方法设置模型的属性set http documentcloud github com backbone Model set方法 而不是直接修改属性内部哈希 http documentclo
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • Backbone 中的加载栏

    我想显示加载消息 图标 直到列表中的所有项目都已呈现 这是我的示例中的 jsfiddle http jsfiddle net 9R9zU 58 http jsfiddle net 9R9zU 58 我尝试在 Feed 部分添加一个带有加载栏
  • 将 Backbone 结构转换为 TypeScript

    看看 Backbonejs 的实现扩展功能 http backbonejs org docs backbone html section 186 它表明它不是一个基本的原型扩展 当主干扩展直接转换为 TypeScript 类时 有些东西会停
  • 如何触发 model.save() 的成功回调?

    this model save success function model response console log success error function console log error 模型已正确发布到处理保存的服务器 但未
  • 我应该使用带有backbone.js的中央事件总线吗?

    我目前正在开发我的第一个backbone js 应用程序 事件的概念对我来说非常熟悉 但我不确定是否应该使用中央事件调度程序 一般来说 我看到这两种方法 直接将事件发布者和事件接收者连接在一起 我从这种方法开始 使用事件总线并将发布者和接收

随机推荐

  • 为什么C语言中可以使用多个分号?

    在 C 中我可以执行以下操作 int main printf HELLO WORLD 它有效 这是为什么 我个人的想法 分号是一个 NO OPERATION 来自维基百科 指示符 拥有一大串分号与拥有一个分号并告诉 C 语句已结束具有相同的
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • docker 构建失败,无法解析“archive.ubuntu.com”

    我无法使用以下 Dockerfile 构建映像 FROM ubuntu RUN apt get y update apt get y install nodejs npm ssh cache npm install when package
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • Capistrano for Rails 3.1

    我正在使用 Rails 3 1 和 Capistrano 我明白了 没有这样的文件或目录 public images public stylesheets 和 public javascripts 的错误 错误 在网上搜索了一下 发现很多博
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • Google Sheet:如何在 Google Sheet 公式中查找给定数据集(日期值对)的最高值以及日期?

    我在 Google Sheet 中有以下日期值对格式的数据 Date Value 1 8 2021 1301 85 1 11 2021 1303 9 1 12 2021 1320 05 1 13 2021 1291 55 1 14 2021
  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • 为什么混合插值和表达式是不好的做法

    来自文档 在表达式内嵌入插值标记 Note AngularJS 指令属性采用任一表达式or带有嵌入表达式的插值标记 已经被考虑了不好的做法将插值标记嵌入表达式中 AngularJS 开发人员指南 插值 https docs angularj
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • 要在空白页面上呈现的 Joomla 模块或组件

    我开发了一个 Joomla 模块 它提供表单 处理其发布数据 进行一些计算并显示结果 该模块包括一个用于打印结果的按钮 我目前正在使用 JavaScript 打开一个新窗口 粘贴相关的 HTML 并打开打印对话框 我更愿意为打印视图提供一个
  • 是否有任何不使用公共虚拟方法的正当理由? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 是否有任何不使用公共虚拟方法的正当理由 我在某处读到我们应该避免使用公共虚拟方法 但我想向专家确认这是否是有效的声明 对于良好且稳定的 API
  • 从网络中的另一台计算机访问本地GAE SDK服务器

    我有开发服务器 来自 google appengine sdk 在我的 Ubuntu 计算机上运行 我可以通过导航到 localhost 8080 来访问我的网站 我想从网络中的另一台计算机 装有 Vista 操作系统 访问该站点 ifco
  • Teradata:如何使用查询获取服务器名称

    如何在 Teradata 中使用查询获取服务器名称 也就是说 如果我在 开发 服务器上编写查询 它应该返回开发服务器名称 例如 在 Sybase 中 我们将使用 select servername TD 中没有像 servername 这样
  • Integer.parseInt 引发的 NumberFormatException

    嘿 我在学校上编码课 但老师没有很好地解释 所以我们必须在网上查找我所做的信息 但我无法找到代码中的错误 你能帮我吗 char end s do System out println Tipo de boleto char boleto c
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 在多个网页(.cshtml 文件)中使用 Razor @functions

    我有以下功能 我希望可用于我的 asp net 网页 2 应用程序中的多个 cshtml 视图 如何使该功能可用于应用程序中的任何视图 而不是仅一个视图 functions public bool DisplayButton String
  • 您的backbone.js 项目的最佳实践是什么?

    尽管我已经关注backbone js 几个月了 并且学习了大量教程 但我仍然对在更大的项目中使用backbone 或我的相关技能 没有足够的信心 我的经验是 backbone js 教程的质量差异很大 有些已经过时了 尤其是backbone