我知道人们通常给出的答案,但我需要一个具体的例子来说明为什么需要它们。
我得到的最新印象(主要来自underscore.js)是因为它使得代码更像PHP,因为你可以拥有< %%>喜欢?>用PHP
这个想法是让你的代码不像意大利面,并且在表现和逻辑之间有明显的区别。这就是每个人都说的,但我不确定为什么这需要一个模板引擎。
为什么不能在纯JavaScript中执行此操作?您所需要的只是一个将数据作为参数接收的函数,您可以保留javascript语法而不需要发明新语言,这看起来很荒谬。例如,您可以这样做:
populateTable(obj) {
$('#model').html('
<h2>' + obj.title + '</h2>' +
<ul> ... </ul>
}
这对我来说似乎很好。它是一个专门用于使用传递给它的一些模型数据来渲染表的函数。为什么我们需要发明新的语法?
答案 0 :(得分:2)
我的一个原因是我更喜欢写这个:
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{body}}
</div>
</div>
写这个:
var createEntryTemplate = function(obj) {
return '<div class="entry">' +
'<h1>' + obj.title + '</h1>' +
'<div class="body">' + obj.body +
'</div>' +
'</div>';
};
后一种方法也更容易出错 - 如果不适合你,那么可能是另一个人。想象一下,你正在与一个没有很多编程经验的设计师合作,他需要进入并替换大量的HTML。
哦,废话......
答案 1 :(得分:-1)
基本上,使用客户端模板引擎,将服务器端呈现与客户端执行交换,因此可以想到这些