gpt4 book ai didi

javascript - 主干中的 listenTo 模型属性

转载 作者:行者123 更新时间:2023-11-30 05:44:13 26 4
gpt4 key购买 nike

我正在尝试收听模型的特定属性(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com