我对部分和覆盖模板的问题很少。 为此我使用了以下文件夹结构。
projectRoot
dust-core-0.6.0.min.js
jquery.js
test.html
partial.tl
main_without_override.tl
partial.tl:
{+greeting} Hola {/greeting}
{+world} World {/world}
main_without_override.tl
的内容:
{>partial/}
test.html
的内容:
<!DOCTYPE html>
<html>
<head>
<script src="dust-core-0.6.0.min.js" type="text/javascript"></script>
<script src="jq.js" type="text/javascript"></script>
</head>
<body>
</body>
<script>
$.get('main_without_override.tl', function(){
console.log(arguments);
})
</script>
</html>
在index.html
当我试图让main_without_override.tl
说出404时。但我确定文件在那里。 firebug显示的路径是正确的。但是浏览器说404。
我想知道
main_without_override.tl
main_without_override.tl
应用模板并在浏览器中渲染。我在google中搜索了大多数示例,只给出了语法。有人可以帮我渲染main_without_override.tl
模板。
答案 0 :(得分:1)
为了在客户端上编译模板(这可能不是一个好主意),您需要包含dust-full
而不是dust-core
。这是因为dust-core
不包括Dust编译器。
在客户端编译模板可能不是一个好主意的原因是Dust编译为JavaScript,并且如@monshi所述,您可以编译模板然后将它们作为JavaScript提供。如果包含.tl
,则可以通过AJAX获取dust-full
个文件,但最好先预先编译该模板,然后在需要时对该.js
文件发出动态请求
答案 1 :(得分:0)
您可以使用<script>
标记将粉尘模板包含为JavaScript文件,但您需要先编译它,然后解释 here
然后将以下模板(脚本)添加到test.html
:
<script type="text/javascript" src="partial.js"></script>
<script type="text/javascript" src="main_without_override.js"></script>
在您的JavaScript中,通过dust.render
方法呈现模板:
dust.render('main_without_override', your_json_object, function(err, out){
your_dom_element.innerHTML = out;
});