问题标签 [backbone-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2800 浏览

backbone.js - Backbone.js:跨视图绑定/取消绑定事件

我正在使用Derick Bailey 的事件聚合器模式,他在其中说明了对象管理事件的引发和这些事件的订阅者的模式。

当我在一个视图中触发事件并在另一个视图中订阅它们时,一切正常。当两个或多个视图订阅一个事件,然后在丢弃一个视图时,其中一个视图取消订阅该事件时,问题就出现了。这也会导致所有其他视图也取消订阅该事件。

有一些解决方法吗?

更新

这是我在我看来使用的一些代码:

0 投票
2 回答
506 浏览

backbone.js - Backbone.js - 创建新帖子的代码在哪里?

我正在尝试制作一个具有 Post 模型、PostList 集合和 PostView + PostListView 的快速示例 Backbone.js 应用程序。您可以在表单中发布一些简单的东西,它将您的帖子添加到帖子列表中。

当有人在 post 表单上单击提交时,它会在 PostList 集合的视图“PostListView”中触发一个事件。我在哪里创建一个新的帖子模型并将其添加到集合中?我是否在视图本身中编写此代码?或者视图是否调用了执行此操作的集合方法?你甚至可以编写自定义收集方法吗?如果是这样,我如何从视图中调用它们?

来自 Rails 背景,我自然倾向于将代码放入集合/模型而不是视图(rails 控制器)中,但我不知道如何从视图中调用自定义集合事件。

代码如下。非常感谢您的帮助!

PostListView.coffee:

PostList.coffee:

0 投票
2 回答
22342 浏览

javascript - 将多个属性更改绑定到 Backbone.js 模型的正确方法

我有以下代码,其中我将更改绑定到单个属性“attribute_1”。

如何绑定两个属性?这不起作用:

这也不是:

0 投票
0 回答
99 浏览

javascript - 骨干模型不会改变

我的应用程序使用 Backbone。它有一个用户可以更改的模型。此模型在更改之前必须经过验证。如果它已更改,则调用一个函数。当用户单击保存时,当且仅当模型发生更改时,模型才会被保存。

我的问题是,当更改事件被触发时,模型不再更改,因此它不会被保存。

这是代码:http: //jsfiddle.net/keepyourweb/jQL8V/

0 投票
1 回答
5276 浏览

javascript - 没有哈希就无法获得主干路由?

我想要浏览器可以捕获和处理的可收藏的 URL。如果我只使用Backbone.history.start(),那么我可以使用哈希 URL,例如/#accounts

但我想要没有哈希的 URL,例如/accounts。但是我无法使用Backbone.history.start( { pushState: true } )来让它工作(正如其他人所描述的那样)。我的路线很简单,直接取自文档

我正在使用 Chrome(也尝试使用 FF),其行为是/accounts请求直接发送到服务器。没有被 Backbone 首先拦截。有没有人遇到过这个?如何使用 Backbone 进行无哈希 URL 处理?

提前致谢

0 投票
1 回答
1751 浏览

javascript - 构建 BackboneJS 事件集合时出错 - new Event() 抛出错误

这似乎几乎是集合的标准用法,但它不起作用。我在文档就绪函数中有以下代码:

我用 Chromium 和 Firefox 测试过,FF 更冗长:

我错过了什么?

作为旁注,如果您需要更多上下文,我正在尝试遵循Chris Storm 的教程/链。

相关软件版本:

  • jQuery JavaScript 库 v1.7.1
  • 骨干网.js 0.5.3
  • 下划线.js 1.2.2
  • Chromium 14.0.835.202(开发者内部版本 103287 Linux)Ubuntu 11.10
  • Firefox 是 8.0,Ubuntu 11.10,64 位

更新:再调试一下,我发现在抛出错误时, this.model 具有值function Event() { [native code] }并且调用new Event()会抛出更多错误 - TypeError。那么创建事件有什么问题呢?

0 投票
1 回答
141 浏览

jquery - 如何使用 Backbone.js 视图绑定到事件?

我是backbone.js 的新手,我要离开KnockoutJS。我无法让事件绑定工作。

给定 HTML 如下:

由于上述原因,当我单击跨度时,事件没有触发。想法?

谢谢

0 投票
2 回答
20005 浏览

javascript - 为什么我运行这个测试时没有调用这个 sinon spy?

我有一个骨干模型:

我使用 jasmin 和 sinon.js 对该代码进行一些测试

当我在浏览器中使用它时它似乎可以工作,但我似乎无法通过测试。任何人都可以启发我吗?

0 投票
1 回答
2992 浏览

javascript - 骨干动态创建的“el”不绑定事件

像这里的许多其他用户一样,我对el事件有疑问。在我的情况下,我测试了多种解决方案,包括使用默认el(just <div></div>)设置tagName、使用 jQuery 选择器设置el为选择器并等待 DOM 准备好。这些解决方案中的每一个都未能绑定事件以及除默认之外的所有事件,el并且tagName未能生成 html。相关代码:

看法

调用视图的函数(从另一个视图中提取)

我有点困惑,我已经设置el了,但它要么不创建,要么不绑定事件。我尝试等待 DOM 加载并传递el给构造函数,但没有成功。对我最可能明显的错误的任何帮助将不胜感激。

0 投票
1 回答
800 浏览

svg - 应用于作为 svg 元素的 el 的主干事件

我有一个带有文本的 SVG 画布,我想响应点击。下面的代码没有完成工作:

这是在另一个视图的渲染函数中调用的:

它显示得很好,如果我在 for 循环结束时把它扔进去:

然后点击工作,但我需要访问与视图关联的主干模型,所以我更喜欢主干事件而不是直接的 JQuery 事件。