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所指的元素。第二个是正确的