Backbone.js 带下划线模板的主干视图如何避免在view.tag元素中包装模板

Backbone.js 带下划线模板的主干视图如何避免在view.tag元素中包装模板,backbone.js,underscore.js,Backbone.js,Underscore.js,通常在主干/下划线模板中,我们有 <script type="text/template" id="something"> <%=value%> </script> 将生成如下的标记 <div>MyValueHere</div> 我想要的结果是 <div> MyValueHere </div> 我的价值在这里 而不是以下内容(这是在主干视图中找到的标记中包装模板的结果) 我的价值在这里

通常在主干/下划线模板中,我们有

<script type="text/template" id="something">
    <%=value%>
</script>
将生成如下的标记

<div>MyValueHere</div>
我想要的结果是

<div>
    MyValueHere
</div>

我的价值在这里
而不是以下内容(这是在主干视图中找到的标记中包装模板的结果)


我的价值在这里

有没有办法有效地做到这一点?如果不太麻烦的话,我会非常感谢JSFIDLE。

render
中通常的模式如下所示:

render: function() {
    this.$el.append(this.template(...));
    return this;
}
但是,您可以使用一个调用来替换通常的调用,以使用您自己的调用来替换视图的
el

render: function() {
    this.setElement(this.template(...));
    return this;
}
演示:


在调用
setElement
之前,您仍然会在
this.el
中创建一个
,但这可能没什么大不了的。

setElement工作起来很有魅力!我可以重写或更改什么来避免在setElement之前创建this.el?我认为您必须对
主干.View
构造函数本身进行一些操作,如果该视图没有
el
构造函数,它将创建
,听起来它需要它,因为它在构造函数中进一步使用它来绑定事件,等等。嗯,很棘手,但如果我能在构造函数上分配项,它是可行的。谢谢你,伙计!
<div>
    MyValueHere
</div>
<div>
    <div>
        MyValueHere
    </div>
</div>
render: function() {
    this.$el.append(this.template(...));
    return this;
}
render: function() {
    this.setElement(this.template(...));
    return this;
}