- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下工作代码,我计划用 object.listenTo 调用替换 object.on 调用:
setField: function(field) {
if (this.field) this.field.off(null, null, this);
if (field) {
this.field = field;
this.field.on('validate', this.renderErrors, this);
}
return this;
},
这是新版本
setField: function(field) {
if (this.field) this.stopListening(this.field);
if (field) {
this.field = field;
this.listenTo(this.field, 'validate', this.renderErrors);
}
return this;
},
但有些方法无法正常工作。第二个版本没有调用 this.renderErrors 方法。
奇怪的是我相应地更新了我的应用程序的所有其余部分,没有任何问题。
我敢肯定一定有一些我遗漏的非常愚蠢的东西。
顺便说一句,这是该字段用于引发事件的代码
[...]
this.trigger('validate', this.errors);
this.error = !this.isValid();
return this.errors;
},
最佳答案
我还没有使用新的 listenTo 和 stopListening,但我可以看到在您的新版本中,您正在针对 parameter field
调用 stopListening,这意味着你的 View 仍在监听之前可见的 this.field
setField: function(field) {
if (this.field) this.stopListening(field);
您现有的版本在 this.field
上调用 off
。
尝试使用:
if (this.field) this.stopListening(this.field);
关于events - Backbone listenTo 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16662277/
在 Backbone 对象(模型、 View 、路由器)中,我们可以调用 this.listenTo 像这样 var BodyView = Backbone.View.extend({ initi
下面是我的 View 初始化函数,它在初始化时应该接收模块名称,以便从集合中获取正确的数据。 问题是: Listento 在获取集合后没有重定向到 render() 方法,它还在控制台上给我一个错误
我有以下工作代码,我计划用 object.listenTo 调用替换 object.on 调用: setField: function(field) { if (this.field) this.
listento 仅针对全局集合触发,而不是我在创建时传递给 View 的集合。 例如: var MyView = Backbone.View.extend({ initialize: funct
我是 Backbone 的新手,我有一些代码应该监听属性更改并触发函数。我在网上看到的关于如何使用 listenTo 的所有内容似乎都涵盖了这种情况,所以我不知道我忽略了什么。 为了更好地理解我做了一
我正在尝试收听模型的特定属性(transitions,数字计数)。在 View 中,我有 this.listenTo(this.model, 'change', _.bind(this.transit
我是 Backbone 新手,正在尝试运行以下代码。但我不明白。它无法正常工作。更清楚的是,当我创建集合时,listenTo 不会捕获创建事件。 这是我的代码 var levelIndex=0; va
我是 Backbone 的新手,对事件散列 (events {}) 和您放入初始化方法中的 listenTo 之间的区别感到困惑。你为什么要用一个而不是另一个。事件哈希不是在初始化时设置的吗? 最佳答
我是 Backbone 的新手,我对示例待办事项应用代码的片段感到困惑:http://backbonejs.org/docs/todos.html 在 AppView 对象上有一个名为 addOne
我有一个 型号 其中在 初始化 功能我有以下代码: this.listenTo(this, 'change:re change:read', this.patch); 补丁函数看起来像这样: patc
我正在尝试在我的模型中对自身进行 listenTo 绑定(bind),但无法使其正常工作。我不确定我做错了什么: initialize: function() { this.listenTo(th
我已经开始使用 Backbone。 在学习 Backbone 时,我了解到使用 .listenTo 而不是 .on 的优势在于 listenTo 允许“对象跟踪事件”。 我不明白这句话想表达什么。好吧
我现在坚持了。我收到以下错误: TypeError: listenTo is undefined return listenTo.call(this, evtSource, events, _.
我正在开发一个 Backbone 项目,在 View 的初始化函数内部,我试图在集合上设置一个监听器,如下所示: this.listenTo(this.collection, "change:attr
在 Backbone 中,我正在使用新的 Backbone.listenTo 事件。我的一个实例将监听器附加到三个不同的事件,例如: this.listenTo(this._Collection, '
下面两行代码的优点和缺点是什么?我不明白为什么有两种不同的方法来做同样的事情。 this.listenTo(app.Todos, 'change:completed', this.filterOne)
我正在尝试通过 stub Backbone.View 的 listenTo 回调方法来实现一个简单的测试。 但是,我似乎不能直接这样做——我必须将回调包装在一个匿名函数中。知道为什么会发生这种情况吗?
我的 Backbone 事件系统有问题。 是否可以直接传递jquery函数作为回调? 以下代码不会触发显示/隐藏方法: initialize: function () { this.render(
是否可以为 listenTo 回调绑定(bind)函数参数? 到目前为止,我已经添加了一个包装器方法“myHandler”,我想摆脱它: // Basic marionette layout var
我正在使用第三方延迟加载插件:http://www.appelsiini.net/projects/lazyload 在其源代码中,它具有以下内容: if (0 === settings.event.
我是一名优秀的程序员,十分优秀!