如何使用灰尘部分模板文件(.tl文件)

时间:2013-01-25 05:25:43

标签: dust.js

我对部分和覆盖模板的问题很少。 为此我使用了以下文件夹结构。

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。

我想知道

  1. 如何获取此main_without_override.tl
  2. main_without_override.tl应用模板并在浏览器中渲染。
  3. 我在google中搜索了大多数示例,只给出了语法。有人可以帮我渲染main_without_override.tl模板。

2 个答案:

答案 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;

    });

相关问题: how to use dustjs-linkedin as client side templating?