0
<template name="postItem">
  <div class="post">
    <div class="post-content">
      <h3><a href="{{url}}">{{title}}</a><span>{{domain}}</span></h3>
    </div>
    <a href="{{postPagePath this}}" class="discuss btn">Discuss</a>
  </div>
</template>

これは絶対 URL を返します。postPage は私が定義したテンプレートです。しかし、ヘルパーパスを自動的に取得しますか? {{templatePath}} がどのように返されるのかわかりません。

4

1 に答える 1

0

Handlebars.js では、次のように JavaScript でヘルパーを定義します。

Handlebars.registerHelper('helperName', function(argument) {
    // ... you perform actions here
    return whatever; // you return something here
});

次に、ヘルパーを次のように使用します{{helperName something}}somethingヘルパーに渡したい引数があります。これらの引数は、作業中のコンテキストから取得されます。「コンテキスト」を使用して、テンプレートを埋めるためにハンドルバーに渡す JSON データを参照しています。

ヘルパーはそのデータを取得し、それを使用して何かを構築します。たとえば、この方法で文字列をその引数と連結できます。var whatever = "<p>" + argument.value1 + "</p>"その後、結果として何かを返し、それがページにプッシュされます ( return whatever)。

使用Handlebarsしている は、このために Handlebars.js によって定義されたグローバル オブジェクトです。テンプレートをコンパイルする場合にも使用されます。テンプレートは、このグローバル オブジェクトのメソッドとして含まれています。

これがすべてあなたの助けになることを願っています。

于 2013-05-08T19:38:52.820 に答える