2012-06-16 48 views
1

首先,我創造了一些骨幹觀點:Backbone.js的:實例觀點

(function() { 

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

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

})(); 

現在,我們可以看到,我實例jQuery的準備函數內部的看法,並分配實例爲當地變量,一旦函數退出就會丟失。但是,我注意到我的觀點完美無瑕 - 即使我失去了對視圖的引用,它也是行得通的。

我想這是因爲涉及到很多閉包,並且所有必需的變量實際上都保留在這些閉包中。

所以,我的問題是:是否可以像這樣實例化視圖。可以不保存對其的引用。

回答

1

如果您再也不需要對視圖的引用,那就完全沒問題。你可以在實例化它後渲染視圖(甚至可以在它的構造函數中完成),它會將生成的HTML插入到DOM中(取決於你在視圖中設置的選項)。 當然,如果您以後需要從視圖外的某些代碼調用某些視圖方法,則需要在某處保留對視圖的引用。

0

你的理解是正確的,如果你不需要從外部調用這個視圖,那麼當然你不需要記錄這個參考。 不過,你的例子太簡單了,一般的實際情況都需要記錄這個參考。 btw:有很多最佳實踐的骨幹,我希望對你有用:http://ricostacruz.com/backbone-patterns