use*_*r10 0 javascript backbone.js
如果我想在Backbone视图中调用一个函数,我必须像这样调用它.
this.functionName()
如果我想打电话给里面的功能相同forEach或者jquery's each功能,this是指不同的上下文这里.所以我需要持有视图对其他变量的引用,我必须使用类似下面的内容.
refresh: function () {
var view = this;
$("#list").each (function () {
view.functionName();
})
}
Run Code Online (Sandbox Code Playgroud)
最后,如果我看一下我的观点,我就像这几乎宣布我的所有功能.有没有人找到更好的替代方案?
由于您使用的是Backbone,因此您已经有了下划线.使用下划线,您可以为每个调用指定上下文.
refresh: function() {
_.each($("#list"), function() {
this.functionName()
}, this))
}
Run Code Online (Sandbox Code Playgroud)