使用backbone.js和marionette.js双重包装ItemView内容

时间:2013-01-09 21:42:52

标签: backbone.js marionette

这是一个名为activatetwoitem

的ItemView模板
<!--  <tr>-->
<td><%= gatewayJson.serial %></td>
<td>In Inventory</td>
<td><%= gatewayJson.macaddress %></td>
<!-- </tr>-->

这是名为activatetwo

的CompositeView模板
<table class="table table-hover">
<thead>
    <tr>
        <th>Gateway ID</th>
        <th>In Group</th>
        <th>MAC Address</th>
    </tr>

</thead>

<tbody></tbody></table>

这是ItemView

Step2View = Backbone.Marionette.ItemView.extend
    template: activatetwoitem
    tagName: 'tr'

这是compositeView

Step2Views = Backbone.Marionette.CompositeView.extend
    itemView: Step2View
    template: activatetwo
    itemViewContainer: "tbody"

现在我得到了这个......

<table class="table table-hover">
<thead>
    <tr>
        <th>Gateway ID</th>
        <th>In Group</th>
        <th>MAC Address</th>
    </tr>
</thead>
<tbody>
    <tr>
        <!--  <tr>-->
        <tr>
            <td>AX1OD</td>
            <td>In Inventory</td>
            <td>secret mac address</td>
            <!-- </tr>-->
        </tr>
    </tr>
    <tr>
        <!--  <tr>-->
        <tr>
            <td>12RUM</td>
            <td>In Inventory</td>
            <td>secret mac address</td>
            <!-- </tr>-->
        </tr>
    </tr>
</tbody>

为什么我会这样做?如果我取出tagName然后以某种方式仍然显示(当然是div而不是第二个tr)任何想法?

1 个答案:

答案 0 :(得分:1)

我没有看到原因,但是当我从模板中取出注释的html时,额外的包装就消失了。太糟糕了,因为我喜欢模板中的注释行来提醒我应该去那里的东西。