nde*_*ker 24 javascript backbone.js
我正在试图弄清楚一些'模式'来建立一个Backbone项目.在下面的示例中,在'render'函数中,作者返回'this'的实例.
为什么是这样?它是针对示例的,还是Backbone的常见内容?我不明白为什么人们应该在'render'函数中返回'this'.
例子
http://backbonefu.com/2011/08/filtering-a-collection-in-backbone-js/
fgu*_*len 30
这只是一种常见的做法,因此您可以调用render()并链接另一个方法调用.
视图不会在页面中插入HTML内容是一种常见模式,此作业由首先实例化View的实例完成.
那么你必须在实例化View的代码中编写的内容是这样的:
var myView = new MyView({ model: myModel });
myView.render();
$(myDOMElement).html( myView.el );
Run Code Online (Sandbox Code Playgroud)
但是如果render()返回View本身,你可以像这样编写上面的代码:
var myView = new MyView({ model: myModel });
$(myDOMElement).html( myView.render().el );
Run Code Online (Sandbox Code Playgroud)
返回的意义this是提供链接的可能性.
例如,让我们假设:
var obj = {
prop1 : 0,
method1 : function(){
},
method2 : function(){
}
};
//Then you could do something like:
obj.method1();
obj.method2();
obj.prop1 = 1;
Run Code Online (Sandbox Code Playgroud)
您的所有操作obj都需要单独进行.
现在考虑:
var obj = {
prop1 : 0,
method1 : function(){
return this;
},
method2 : function(){
return this;
}
};
//Now you could do these
obj.method1().prop1 = 1;
obj.method1().method2().method1();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3525 次 |
| 最近记录: |