3

实际上问题在于主题...是否可以制作车把模板框架,以识别 div 标签内的模板而不是 script 标签?

例如我想用这个标记创建模板:

<style>
    div.text-x-handlebars {display:none;}
</style>
<div class="text-x-handlebars-template">
    <h2>I'm template</h2>
    <p>{{welcomeMessage}}</p>
</div>
4

1 回答 1

5

是的,您可以将模板放在<div>s 中而不是<script>s 中,例如:

http://jsfiddle.net/ambiguous/RucqP/

然而,这样做是充满危险的。如果您将模板放在 a中,那么浏览器会在您填写之前<div>将其解释为 HTML ;因此,如果您的模板的 HTML 直到被填写后才有效,浏览器可能会尝试更正它并把事情弄得一团糟。此外,如果您的模板中有属性,那么您最终会得到重复的 s(一个在模板中,并且在您放入 DOM 的填充模板中重复),这将导致各种奇怪而有趣的错误。浏览器还将尝试以idid<div><div>,这可能是也可能不是问题(如果图像在其src属性中使用模板变量,甚至可能是可取的,但可能是不可取的)。

基本上,你可以这样做,但你不应该这样做,你应该把你的模板放在<script id="..." type="text/x-handlebars-template">元素中。

于 2012-07-25T22:15:09.787 回答