0

我从主干开始,我试图创建一个简单的视图,每当我的模型发生变化时都会发出警报。现在正在调用视图中的初始化函数,但是当我的模型更改(我的模型正在更改)时,不会调用渲染函数。我尝试了两种绑定到更改事件的方法(在初始化函数和事件属性中)。我觉得我错过了一些明显的东西。

#jsonPreview id 存在于 html 中。

// Create the view
var JSONView = Backbone.View.extend({
initialize: function(){
    this.bind("change", this.render);
  },

  render: function() {
    alert("change");
  },
  events:
  {
    "change":"render"
  }

});

// Create the view, and attach it to the model:
var json_view = new JSONView({ el: $("#jsonPreview"), model: documentModel });

提前致谢。

4

1 回答 1

2

看起来您正在绑定到change视图上的事件而不是视图的模型。认为您需要绑定到模型事件,如下所示:

initialize: function(){
  this.model.bind("change", this.render);
},
于 2012-06-20T17:03:17.377 回答