Javascript 使用尚未创建的el的主干网?
我正在使用主干网构建一个网页应用程序 我的主视图依赖于将根据URL替换页面主体部分的模板,但由于我必须为该视图提供一个“el”,所以我希望它是模板本身,该模板将插入DOM中的“render”或“initialize”方法中 但是当我调用新的MyMasterView时,el是未定义的,因为它在实例化时不存在于DOM中 我该怎么办Javascript 使用尚未创建的el的主干网?,javascript,dom,backbone.js,Javascript,Dom,Backbone.js,我正在使用主干网构建一个网页应用程序 我的主视图依赖于将根据URL替换页面主体部分的模板,但由于我必须为该视图提供一个“el”,所以我希望它是模板本身,该模板将插入DOM中的“render”或“initialize”方法中 但是当我调用新的MyMasterView时,el是未定义的,因为它在实例化时不存在于DOM中 我该怎么办 我找到的唯一修复方法是将el设置为替换内容的现有DOM,并在渲染中调用.remove().append(_模板),但我不确定这是最好的方法。您是否尝试过将el保留为nul
我找到的唯一修复方法是将el设置为替换内容的现有DOM,并在渲染中调用
.remove().append(_模板)
,但我不确定这是最好的方法。您是否尝试过将el
保留为null,只设置标记名
?如果这样做,将为视图的元素创建一个新的分离DOM节点。您应该能够呈现从页面DOM中分离出来的DOM片段,然后外部代码可以使用<代码>附录< /代码>或类似jQuery的代码>替换为。
<div id="existing">
</div>
这将要做的是,它将视图的
el
从现有的(或任何其他DOM元素)更改为内部模板
。因此,在删除el
时,将删除inner_template
元素,保持元素在DOM中的现有状态。您有任何示例代码吗?太棒了!我不知道setElement!谢谢!:)
<div id="inside_template">
<!-- content of the template goes here -->
</div>
render : function() {
this.$el.html(this.template());
this.setElement("#inside_template");
// another render method content
}