BackboneJS - 在视图中使用关键字

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)

最后,如果我看一下我的观点,我就像这几乎宣布我的所有功能.有没有人找到更好的替代方案?

Rav*_*msa 5

由于您使用的是Backbone,因此您已经有了下划线.使用下划线,您可以为每个调用指定上下文.

refresh: function() {

   _.each($("#list"), function() {
      this.functionName()
   }, this))

}
Run Code Online (Sandbox Code Playgroud)