【问题标题】:backbone js append view [duplicate]骨干js追加视图[重复]
【发布时间】:2012-12-06 07:35:38
【问题描述】:

可能重复:
Backbone js: How to remove extra tag in view?

为什么每当我将新的主干视图附加到 HTML 元素时,它会自动用 <div> </div> 包围该视图?

例如,我的 HTML 页面中有一个表格

<table class="table table-hover">

    <thead>
        <tr>
        <th>Column1</th>
        <th>Column2</th>
        </tr>
    </thead>

    <tbody id="tbl">    
    </tbody>

</table>

现在在我的主干控制器中,我执行以下操作

$("#tbl").append(new tblview().render().el);

在实际视图的 HTML 模板中我有

tblview.html

<tr>
    <td>entry3</td>
    <td>entry4</td>
</tr>

现在,当我在浏览器中查看它并检查 html 元素时,它呈现如下:

<table class="table table-hover">

    <thead>
        <tr>
        <th>Column1</th>
        <th>Column2</th>
        </tr>
    </thead>

    <tbody id="tbl">
        <div>
              <tr>
                <td>entry3</td>
                <td>entry4</td>
              </tr>

        </div>  
    </tbody>

</table>

这样就变得不合时宜了?我该如何解决这个问题? 我希望它在表格中呈现没有这些额外&lt;div&gt; &lt;/div&gt; 的视图。

【问题讨论】:

标签: html templates view backbone.js render


【解决方案1】:

Backbone 自动创建一个div 来包围任何视图。要覆盖默认值,您需要在扩展视图时设置tagName 属性。 http://backbonejs.org/#View-extend

Backbone.View.extend({
  tagName: "tr"
});

【讨论】:

  • 还没有,但我很高兴这对您有所帮助!
【解决方案2】:

您的模板不需要包含tr 标签。 tblView 应该将 tagName 设置为 tr

【讨论】:

  • 谢谢,马上解决了我的问题:] mymy 过去 1 年我是如何使用骨干网的,但不知道这个...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 2012-02-26
  • 2012-06-03
  • 2015-08-22
相关资源
最近更新 更多