1

パーシャルとオーバーライドテンプレートについていくつか質問があります。そのために私は次のフォルダ構造を使用しました。

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>

そのことわざ404index.htmlを取得しようとすると、ファイルがそこにあることを確認してください。main_without_override.tlfirebugが表示しているパスは正しいですが、ブラウザには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

タグを使用してダスト テンプレートを JavaScript ファイルとして含めることができますが、<script>最初にコンパイルする必要があります。

次に、次のテンプレート (スクリプト) を に追加します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 に答える