1

まず、いくつかのバックボーンビューを作成します。

(function() {

    var SomeView = Backbone.View.extend({ ... });

    // finally on ready
    $(function() {
        // init my view
        var v = new SomeView({...});
    });

})();

ご覧のとおり、jQuery ready関数内でビューをインスタンス化し、インスタンスをローカル変数に割り当てています。ローカル変数は、関数が終了すると失われます。しかし、ビューが完全に機能していることに気付きました。つまり、ビューへの参照が失われていても、機能しているだけです。

これは、多くのクロージャが関係していて、必要なすべての変数が実際にはそれらのクロージャ内に保持されているためだと思います。

だから、私の質問は:このようなビューをインスタンス化するのはこれで大丈夫ですか?参照を保存しなくても大丈夫ですか。

4

2 に答える 2

1

ビューへの参照が二度と必要ない場合は、これで問題ありません。ビューをインスタンス化した後 (またはそのコンストラクターで実行することもできます)、ビューをレンダリングすることができ、生成された HTML が DOM に挿入されます (ビューに設定したオプションによって異なります)。もちろん、後でビューの外部のコードからいくつかのビュー メソッドを呼び出す必要がある場合は、ビューへの参照をどこかに保持する必要があります。

于 2012-06-16T07:08:22.200 に答える