2012-07-25 57 views
3

其实问题是在子对象中... 是否有可能使句柄模板框架识别div标签内的模板而不是脚本标签?带“div”标签的把手模板代替“脚本”

比如我想使用此标记创建模板:

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

回答

5

是的,你可以把你的模板<div>真是让人不是<script> S,例如:

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

但是,这样做充满危险。如果你把你的模板放在<div>内,那么浏览器会在你填写完之前将它解释为HTML ;因此,如果您的模板的HTML在之后之后无效,那么它已被填充,浏览器可能会尝试纠正它并且弄乱一些东西。另外,如果你的模板中有id属性,那么你最终会得到重复的id(一个在模板<div>中,并且在你填入DOM的模板中重复),这将导致各种奇怪的有趣的错误。浏览器也会尝试下载<div>中的模板内的任何图像,这可能是也可能不是问题(如果图像在其src属性中使用模板变量,甚至可能是可取的,但可能不希望)。

基本上,你可以做到这一点,但你不应该,你应该把你的模板,而不是<script id="..." type="text/x-handlebars-template">元素。