我们可以考虑一个场景,你在 DOM 中有以下 div
<div id="existing">
</div>
此 div 可以是您想要插入视图生成的 html 的任何其他元素。
假设,您有以下模板,
<div id="inside_template">
<!-- content of the template goes here -->
</div>
您可以将视图指定existing
为el
视图,因为它已经存在于 div 中。您将遇到的唯一问题是,如果它是某个标签之类的body
东西,那么如果您在清除视图时将其从视图中删除(以防止内存泄漏),它将从 dom 中删除可能不需要的标签。
一个解决方案可以是,指定existing
为el
,在其中渲染视图的 html,然后在将模板 html 附加到 DOMel
之后立即调用,例如,setElement
render : function() {
this.$el.html(this.template());
this.setElement("#inside_template");
// another render method content
}
这将做的是,它将el
视图从existing
(或任何其他 DOM 元素)更改为inside_template
. 因此,在删除el
,元素时,inside_template
元素将被删除,保持existing
元素在 DOM 中的原样。