2012-06-20 26 views
0

我刚开始使用backbone,我试图创建一个简单的视图,在我的模型发生变化时发出警报。现在视图中的初始化函数被调用,但是当我的模型改变时(我的模型正在改变),渲染函数没有被调用。 我试图用两种方式绑定到更改事件(在初始化函数和事件属性中)。我觉得我失去了一些明显的东西。简单的backbone.js模型连接

#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 }); 

在此先感谢。

回答

2

它看起来像绑定到视图上的change事件而不是视图的模型。认为你需要绑定到模型事件是这样的:

initialize: function(){ 
    this.model.bind("change", this.render); 
}, 
+0

还是一样的结果 - 渲染不会被调用:( – CiscoIPPhone

+1

@CiscoIPPhone:是它(http://jsfiddle.net/ambiguous/ AWESV /),你到底在做什么? –

+0

有趣的是,我必须将它与我正在做的做比较,看看有什么不同,我很快会回来,谢谢你的帮助。 – CiscoIPPhone