- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试收听模型的特定属性(transitions
,数字计数)。在 View 中,我有 this.listenTo(this.model, 'change', _.bind(this.transition, this));
监听整个模型更改事件。但是以下内容不起作用:
this.listenTo(this.model, 'change:transitions', _.bind(this.transition, this));
我应该使用什么语法结构,或者方法调用?如果需要不同的 BB 方法调用,有什么区别?
型号:
define([
'underscore',
'backbone'
], function(_, Backbone) {
var RepresentationModel = Backbone.Model.extend({
initialize: function(options){
this.representationType = options.representationType;
this.previousRepresentationType = undefined;
this.transitions = 0;
},
transition: function(newRep){
this.set({
previousRepresentationType: this.representationType,
representationType: newRep,
transitions: this.transitions+1
});
}
});
return RepresentationModel;
});
听力观点:
...
this.listenTo(this.model, 'change', _.bind(this.transition, this));
...
调用 View :(与监听 View 不同)
var measureRepColl = StageCollection.get(hTrackCID).get('measures').models[0].get('measureRepresentations').get(measureRepCID).transition(newRepType);
最佳答案
您所拥有的应该有效。由于其他原因,模型很可能没有触发 change:transitions
更改事件。调查(或发布片段)您希望在模型上设置 transitions
属性的代码。
旁注,您可以指定上下文,因此不需要 _.bind
:this.listenTo(this.model, 'change:transitions', this.transition, this) ;
关于javascript - 主干中的 listenTo 模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886328/
在 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.
我是一名优秀的程序员,十分优秀!