1

我对部分和覆盖模板几乎没有问题。为此,我使用了以下文件夹结构。

项目根

   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并渲染。

我在谷歌搜索了大多数示例只给出了语法。有人可以帮我渲染main_without_override.tl模板吗?

4

2 回答 2

1

为了在客户端上编译模板(这可能不是一个好主意),您需要包含dust-full而不是dust-core. 这是因为dust-core不包括 Dust 编译器。

在客户端编译模板可能不是一个好主意的原因是 Dust 编译为 JavaScript,正如 @monshi 提到的,您可以编译模板,然后将它们作为 JavaScript 提供。.tl如果包含,则可以通过 AJAX 获取文件dust-full,但最好事先编译该模板,然后.js在需要时对该文件进行动态请求。

于 2013-01-27T00:55:18.040 回答
0

您可以使用<script>标签将您的灰尘模板包含为 JavaScript 文件,但您需要先对其进行编译,此处对此进行了说明

然后将以下模板(脚本)添加到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;

    });

相关问题: 如何使用dustjs-linkedin 作为客户端模板?

于 2013-01-26T02:53:30.377 回答