2012-06-16 80 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