Backbone.JS:实例化视图

时间:2012-06-16 05:34:35

标签: backbone.js

首先,我创建一些骨干视图:

(function() {

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

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

})();

现在,正如我们所看到的,我在jQuery ready函数中实例化视图,并将实例分配给 local 变量,一旦函数退出,该变量将丢失。但是,我注意到我的观点完全正常 - 即使我失去了对视图的引用,它只是起作用。

我想这是因为涉及到很多闭包,并且所有必需的变量实际上都保存在这些闭包中。

所以,我的问题是:这样可以实例化这样的视图。可以不保存对它的引用。

2 个答案:

答案 0 :(得分:1)

如果你再也不需要对视图的引用,那就完全没问了。您可以在实例化之后呈现视图(甚至在其构造函数中执行它),它将在DOM中插入生成的HTML(取决于您在视图上设置的选项)。 当然,如果您稍后需要从视图外部的某些代码调用某些视图方法,则需要在某处保留对视图的引用。

答案 1 :(得分:0)

您的理解是正确的,如果您不需要从外部调用此视图,那么您当然不需要记录此参考。 但是,你的例子太简单了,实际情况一般需要记录这个参考。 顺便说一句:有很多最佳实践的支柱,我希望对你有用:http://ricostacruz.com/backbone-patterns