0

BackboneJS Viewを読んでいます。

   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についての知識がないと仮定しますか?

4

1 に答える 1

1

インスタンス化時に関数のみinitializeが呼び出されます。ある種のコンストラクターと見なすことができます。

ドキュメントでも、初期化関数のタイトルはconstructor/initialize.

... ビューが初期化関数を定義している場合、ビューが最初に作成されたときに呼び出されます。

インスタンス化時にすべての関数が呼び出された場合、まったく意味がありません。クラスの関数の 1 つに破壊的なロジックがある場合を想像してみてください (その可能性は非常に高いです)。その関数をすぐに呼び出す必要はありません。

オブジェクトがインスタンス化された瞬間に実行したい他の関数は、初期化関数内から簡単に呼び出すことができます。

initialize: function(){
    // alert("Alerts are not too cool (no offence).");
    console.log( "Consoles are cool" );
    another_init_func();
    more_init_stuff();
    be_awesome();
    ...
}
于 2013-10-31T12:17:06.883 に答える