我需要一种在我的脚本中管理HTML块的方法,因为我告诉我的方式太难以理解了。通常,我会写如下内容:
app.templates = (function () {
return {
status: '{0}<br />{1}',
date: '{0} - {1}',
details: '<li><i class="sprite"></i>{0} cart</li> \
<li><i class="sprite"></i>{1} total</li> \
<li><i class="sprite"></i>{2} items</li>'
然后,我会执行以下操作:$('.status').html(utls.format(app.templates.status, status));
我必须管理一些非常重要的模板块,有人能指出我更好的策略方向吗?
答案 0 :(得分:0)
您可以采用knockout templates方法将它们放入类型为“text / html”的脚本标记中(浏览器会有效忽略它们)。然后,您可以进行关联查找并通过id
获取模板标记。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.js">
</script>
<script type="text/html" id="foo">
<div>here is some markup</div>
</script>
<script>
$(function(){
var templates={};
$('head script[type="text/html"]')
.each(function(idx,scr){
var id = $(scr).attr("id");
var html = $(scr).html();
templates[id]=html;
});
alert(templates["foo"]);
});
</script>
</head>
<body>
woo-har!
</body>
</html>