Javascript 主干中的listenTo模型属性

Javascript 主干中的listenTo模型属性,javascript,backbone.js,Javascript,Backbone.js,我正在尝试收听模型的特定属性(转换,一个数字计数)。在一个视图中,我有this.listenTo(this.model,'change',_u.bind(this.transition,this)); 它将侦听整个模型更改事件。但是,以下各项不起作用: this.listenTo(this.model, 'change:transitions', _.bind(this.transition, this)); 我应该使用什么语法结构或方法调用?如果需要不同的BB方法调用,有什么区别 型号:

我正在尝试收听模型的特定属性(
转换
,一个数字计数)。在一个视图中,我有
this.listenTo(this.model,'change',_u.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));
...
调用视图:(与侦听视图不同)


你所拥有的应该有用。由于其他原因,模型很可能没有触发
change:transitions
change事件。调查(或发布)您希望在模型上设置
transitions
属性的代码片段


旁注:您可以指定上下文,因此不需要
.bind
this.listenTo(this.model,'change:transitions',this.transition,this)

var measureRepColl = StageCollection.get(hTrackCID).get('measures').models[0].get('measureRepresentations').get(measureRepCID).transition(newRepType);