0

腐ったトマトのAPIから取得したデータに基づいて映画を検索しています。handlebars.js を使用しています。これまでのところ、私はこのテンプレートを手に入れましたが、うまく機能しています。

    <div class="info">
        <h3>{{title}}</h3>
        <span> Year: {{year}} </span>
        <span> Studio:{{studio}} </span> 
        <span> Synopsis:{{synopsis}} <span>
    </div>

ただし、一部の映画にはスタジオが用意されていないため、この場合は「Studio:」が出力されないようにしたいと考えています。これはそうするための私のコードです:

   {{#if studio}}
     <span> Studio:{{studio}} </span> 
   {{/if}}

handebars.js ページで提供されている例からコピーしました。それでもうまくいきません。誰かが私が欠けているものを説明してもらえますか? この単純な if ステートメントを使用しているため、Handlebars.registerHelper を使用する必要はないと思います。またはそれは?

4

1 に答える 1

0

このjsFiddleを参照してください。あなたはそれで何の問題もないはずです。

ドキュメントから。

if ヘルパーを使用して、ブロックを条件付きでレンダリングできます。引数がfalse、undefined、null、""、または [] (「偽の」値) を返す場合、Handlebars はブロックをレンダリングしません。

したがって、「スタジオ」の値を確認してください。

私がいじったコード。

HTML:

<p>{{name1}}</p> 
{{#if name2}}
   <p>{{name2}}</p>    
{{/if}}
<p>End</p>

js:

this.$el.html(temp({name1: 'stack'}));
于 2013-07-26T04:57:04.180 に答える