什么时候不应该使用自渲染视图?
When should I not use a self-rendering view?
我一直在研究 this Backbone 教程并遇到了这段代码:
var LibraryView = Backbone.View.extend({
el:$("#books"),
initialize:function(){
this.collection = new Library(books);
this.render();
},
...
});
作者解释说 this.render()
在调用其构造函数时使视图呈现。
您什么时候不希望视图自行呈现?
render 方法只是通过使用 jquery 的 html
或 append
方法将 HTML 添加到 DOM。您选择在视图上调用渲染方法的位置是一种体系结构选择。
Backbone 据说应用 MV* 模式,其中模型直接绑定到视图。
因此,视图将在实例化时呈现自己,并且能够在模型更改时呈现自己。
但是,Backbone 将很多决定留给开发人员,并且是一个灵活的库。从技术上讲,没有什么可以阻止您使用管理视图流的控制对象;因此,另一个对象也可以实例化并重新呈现视图。
var view = new Bb_View();
view.render();
归根结底,render
只是视图上的一个方法,你也可以定义自己的方法。我会从视图外部调用视图上的自定义方法的一个示例原因是,当我保持对视图数组的引用时。
当事件发生时,我循环浏览视图,我可能会添加一些条件,然后根据条件在特定视图上调用自定义方法。
我一直在研究 this Backbone 教程并遇到了这段代码:
var LibraryView = Backbone.View.extend({
el:$("#books"),
initialize:function(){
this.collection = new Library(books);
this.render();
},
...
});
作者解释说 this.render()
在调用其构造函数时使视图呈现。
您什么时候不希望视图自行呈现?
render 方法只是通过使用 jquery 的 html
或 append
方法将 HTML 添加到 DOM。您选择在视图上调用渲染方法的位置是一种体系结构选择。
Backbone 据说应用 MV* 模式,其中模型直接绑定到视图。
因此,视图将在实例化时呈现自己,并且能够在模型更改时呈现自己。
但是,Backbone 将很多决定留给开发人员,并且是一个灵活的库。从技术上讲,没有什么可以阻止您使用管理视图流的控制对象;因此,另一个对象也可以实例化并重新呈现视图。
var view = new Bb_View();
view.render();
归根结底,render
只是视图上的一个方法,你也可以定义自己的方法。我会从视图外部调用视图上的自定义方法的一个示例原因是,当我保持对视图数组的引用时。
当事件发生时,我循环浏览视图,我可能会添加一些条件,然后根据条件在特定视图上调用自定义方法。