2013-10-31 19 views
0

我正在阅读BackboneJS ViewBackboneJS视图的函数绑定是如何工作的?

SearchView = Backbone.View.extend({ 
     initialize: function(){ 
      alert("Alerts suck."); 
     } 
    }); 

    // The initialize function is always called when instantiating a Backbone View. 
    // Consider it the constructor of the class. 
    var search_view = new SearchView(); 

是否每个函数在一个View对象中调用实例化,还是仅仅是初始化函数?

初始化更像是实例化视图成功时的回调函数吗?究竟是什么意思?

我通过谷歌。但是发现大部分结果都有我无法理解的流行语。有人可以把它直接简单吗?假设我对underscorejs没有任何了解?

+0

尝试阅读本http://tech.pro/tutorial/1476/part-2-backbonejs-deconstructed,看看这有助于 – manraj82

+1

这是你把视图特定的代码初始化函数。不,每种方法都不运行,他们为什么会这样? –

回答

1

在实例化时只调用initialize函数。您可以将其视为各种构造函数。

即使在documentation中,初始化函数的标题为constructor/initialize

...如果视图定义了一个初始化函数,它将在第一次创建视图时被调用。

如果在实例化过程中调用每个函数,它将毫无意义。想象一下,在你的类的某个功能(这很可能)中有一些破坏性逻辑的情况下,你不希望立即调用该函数。

在初始化函数中可以简单地调用任何其他函数,只要在实例化对象时执行该函数即可。

initialize: function(){ 
    // alert("Alerts are not too cool (no offence)."); 
    console.log("Consoles are cool"); 
    another_init_func(); 
    more_init_stuff(); 
    be_awesome(); 
    ... 
} 
相关问题