2012-03-16 29 views
0

是否可以在嵌套mustache.js模板中呈現Javascript,如下所示?使用mustache.js呈現嵌套鬍鬚模板中的Javascript代碼handlebars.js ICanHaz.js

myApp.mustache:

{{#myapp}} 
{{>userApp}} 
{{/myapp}} 

userApp.mustache:

{{#user}} 
<script> 
    $(function() { 
    $("a[id='a_popover_{{username}}']").popover() 
    }) 
</script> 
{{/user}} 

模板與pystache(Python的鬍子庫)正確渲染,但mustache.js,handlebars.js,ICanHaz.js ,ICanHandlebarz.js都抱怨像#user沒有正確關閉。

回答

0

很確定</script>位是問題,瀏覽器看到它並將其解析爲模板腳本的結尾。嘗試像這樣逃脫它:<\/script>

0

我也陷入了類似的問題,最終創建了一個新的腳本元素,因爲即使JavaScript代碼被渲染,是不會執行後追加到正文,它會採取行動像字符串。我的情況

$('script:last').html('alert("ok !")'); // won't work 

示例代碼:

var render = Mustache.to_html(template, data_sources); 
var sc = document.createElement('script'); 
sc.innerHTML = render; 
var p_div = document.getElementById('template_wrap_div').parentNode; 
p_div.innerHTML = ""; 
p_div.appendChild(sc); 

希望給一些想法和幫助。