为什么模板中的html dom-如果没有在这里应用

时间:2016-04-18 20:08:20

标签: javascript polymer

考虑以下代码:

<div class="container">
    <table class="c">
        <tr>
        <template is="dom-repeat" items="[[days]]" as="o">
            <td class$="[[dayClass(o)]]"><span class="d">[[formatDay(o)]]</span></td>
            <template is="dom-if" if="[[lastDayOfWeek(o)]]"></tr>
                <template is="dom-if" if="[[!lastDayOfCalendar(o)]]"><tr></template>
            </template>
        </template>
        </tr>
    </table>
</div>

为什么</tr><tr>未应用于html?

这里的完整JS Bin演示:https://jsbin.com/dujekefoga/edit?html,output

修改:修复了JS Bin网址

2 个答案:

答案 0 :(得分:0)

您的表格行标记放错地方,我通过更改标记的放置顺序更接近您的预期结果。希望这会对你有所帮助。

https://jsbin.com/quvutugijo/1/edit?html,output

答案 1 :(得分:0)

最后,这是有效的。我相信它是最好的解决方案,因为它适用于两个非嵌套的dom-if,并且html是有效的。

我只需要添加一个函数firstDayOfWeek,如果item.isoWeekday() === 1,则返回true。

    <template is="dom-repeat" items="[[days]]" as="o">
        <template is="dom-if" if="[[firstDayOfWeek(o)]]"><tr></template>
        <td class$="[[dayClass(o)]]"><span class="d">[[formatDay(o)]]</span></td>
        <template is="dom-if" if="[[lastDayOfWeek(o)]]"></tr></template>
    </template>