4

我想知道是否有避免在 BackboneJS/UnderscoreJS 模板应用程序中将 JavaScript 与 HTML 混合的好方法。

我的理解是我们需要创建模板代码,看起来或多或少是这样的:

<table cellspacing='0' cellpadding='0' border='1' >
        <thead>
            <tr>
                <th>Id</th>
                <th>Name</th>
            </tr>
        </thead>
        <tbody>

        <% _.each(items,function(item,key,list){ %>
        <% var f = item.name; %>
            <tr>
                <td><%= key %></td>
                <td class="<%= f %>"><%= item.name %></td>
            </tr>
        <% }); %> <!-- this is hardly readable -->
    </tbody>
</table>

那,困扰我的是必须在 <% %> scriptlet 内编写 JavaScript,然后是一些 HTML,然后是一些 JavaScript,循环或 if/else 条件必须在 <% %> 内的其他地方关闭。

这样的代码与我早期的 JSP 页面(JavaServer Pages)很相似——甚至 scriptlet 也使用相同的符号——我记得这种方法经常导致维护和调试问题。这里我遇到了类似的问题——scriptlet被模板引擎转换成实际的JavaScript,这不容易分析。

有什么方法可以更好地处理模板吗?即使我尝试在后端进行尽可能多的过滤和数据准备,也总是需要一些典型的前端逻辑(例如突出显示某些内容等)?

4

0 回答 0