1.backbone中model和view 是怎么绑定的
view和model一对一
Router里面在routes类定义动作键值对,当匹配到响应的url,执行相应动作显示相应页面,这时候绑定model和view,主要是通过构造函数将model传到view中
new View({model: new Model()});
绑定之后通过this.model取得model中的各种方法。如果一个view对应多个model
可以在view的render方法里面绑定,通过underscore的template方法生成DOM模板,然后传入model。
var view = Backbone.View.extend({template: _.template();render: function(){
this.model = new myModel();}
})
2.model改变的时候是怎么重新渲染view 的
在view初始化的时候添加:
initialize: function (){
this.model.bind('change:data',this.renderTable,this)
}
这样,当通过set改变model数据时,就会触发change事件,从而调用回调函数重新渲染页面。