我以前能够将格式化文本中的JSRender模板存储在html文件中并存储在服务器上。然后我使用$ .get来检索我的模板并进行渲染。
我的助手方法类似于: Store a jsRender template in a separate js file:
function LoadJSRenderTemplate(container, templateUrl, myArray) {
$.when($.get(templateUrl))
.done(function(tmplHtml) {
$.templates({ MyTemplate: tmplHtml });
container.html($.render.MyTemplate(myArray));
});
}
我的模板如下所示:
<div class="ResultTableRow">
<span>{{>Distributor}}</span>
{{if FuelType}}
<span>
{{for FuelType}}
{{>#data}}<br />
{{/for}}
</span>
{{/if}}
</div>
今天我开始了另一个项目并突然使用最新的jsrender相同的技术停止工作... urrr。现在我必须在我的http://www.jsviews.com/#samples/jsr/composition/remote-tmpl示例之后将易于阅读的模板压缩成单行js文件。虽然它有效,但我不想忘记阅读我习惯的缩进模板格式的容易程度。
为什么呢?什么改变了?
答案 0 :(得分:1)
这对我来说很好用:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery.js" type="text/javascript"></script>
<script src="http://www.jsviews.com/download/jsviews.js"></script>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
var myArray = [
{Distributor: "a", FuelType:"qq"},
{Distributor: "b"},
{Distributor: "c", FuelType:"rr"}
];
$.get("file.html")
.done(function(tmplHtml) {
$.templates({ MyTemplate: tmplHtml });
$("#container").html($.render.MyTemplate(myArray));
});
</script>
</body>
</html>
file.html
<div class="ResultTableRow">
<span>{{>Distributor}}</span>
{{if FuelType}}
<span>
{{>FuelType}}<br />
</span>
{{/if}}
</div>
(我稍微简化了你的模板)。
另见Store a jsRender template in a separate js file - 如果get()vs ajax()类型“text”存在问题