Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Backbone.js视图中,this.el到底是什么?_Javascript_Backbone.js - Fatal编程技术网

Javascript 在Backbone.js视图中,this.el到底是什么?

Javascript 在Backbone.js视图中,this.el到底是什么?,javascript,backbone.js,Javascript,Backbone.js,我对主干视图中的el的含义感到困惑。一些教程(例如)使它看起来像el是正在创建的视图的父视图,其中render方法应该将视图附加到其el中。其他人(如)将其视为视图本身的元素。关于这一点是否有最佳实践?el肯定是视图对应的元素,而不是它的父元素。在第一个示例中,他们将整个页面主体视为视图,然后在呈现时插入组成视图的组件。我想这可能适用于表示整个页面的顶级视图。脊梁给了你很大的灵活性(比如用绳子把自己吊起来),所以你可以用很多方式做事。一般来说,无论您如何做,如果您在将视图附加到DOM之前尽可能地

我对主干视图中的
el
的含义感到困惑。一些教程(例如)使它看起来像
el
是正在创建的视图的父视图,其中
render
方法应该将视图附加到其
el
中。其他人(如)将其视为视图本身的元素。关于这一点是否有最佳实践?

el
肯定是视图对应的元素,而不是它的父元素。在第一个示例中,他们将整个页面
主体
视为视图,然后在呈现时插入组成视图的组件。我想这可能适用于表示整个页面的顶级视图。脊梁给了你很大的灵活性(比如用绳子把自己吊起来),所以你可以用很多方式做事。一般来说,无论您如何做,如果您在将视图附加到DOM之前尽可能地构造并附加视图的组件,效果最好。您的第二个示例中提到了这一点,在其自身中也提到了这一点:

所有视图在任何时候都有一个DOM元素(el属性),无论 它们是否已插入到页面中。就这样,, 视图可以在任何时候呈现,并随时插入到DOM中 一次,为了获得高性能的UI渲染,只需很少的 尽可能回流和重新喷漆


像这样的项目可以实现许多主干最佳实践,并让您在更高的抽象级别上进行操作。我强烈建议你去看看,而不是自己去尝试找出所有的最佳实践模式。

这两者都有点。。。el表示视图将渲染到的dom元素。视图的模板可能有多个顶级元素。为了简化,当主干渲染视图时,它使用“父”元素包装模板的内容。默认情况下,此元素是一个div(设置标记名以覆盖此元素和/或设置className以在其上设置css类),并且是el所指的元素。

第二个是正确的