2015-08-23 79 views
0

使用JSRender可以使用類型爲「text/x-jsrender」的腳本標籤創建模板。例如。JSRender內嵌模板

<script type="text/javascript"> 
     $("#movieList").html(
      $("#movieTemplate").render(movies) 
     ); 
</script> 

然而,對於簡單的模板我更願意在線聲明它們,而不是在一個單獨的「文本/ X-jsrender」腳本標籤:

<script id="movieTemplate" type="text/x-jsrender"> 
     <li> 
      {{>name}} {{>releaseYear}} 
     </li> 
</script> 

如下然後它可以被渲染。這可能嗎?我在想:

var myTemplate = "<li>{{>name}} {{>releaseYear}}</li>"; 
    var outputHtml = render(myTemplate, movies); 

回答

0

您可以使用$.templates()來做到這一點。你接近你只是缺少一個行:

var myTemplateText = "<li>{{>name}} {{>releaseYear}}</li>"; 
var myTemplate = $.templates(myTemplateText); 
var outputHtml = myTemplate.render(movies); 

作爲一個說明,雖然中,模板是你可以從你的代碼中分離演示文稿的好處之一。這意味着如果我是一名設計師,我可以輕鬆搞定您的模板HTML,而無需瞭解JavaScript邏輯。當你按照我上面展示的方式進行操作時,由於混合了表示和邏輯,你將失去這種能力。無論你是否確定,這取決於你。

無論如何,在JSRender website上有不同方式創建模板的一些很好的例子。

+0

謝謝你做到了。 – aw1975