2012-01-25 51 views
1

HTML:jsRender - 各ループ内の余分なスペース

<div id="container"></div> 

<script type="text/x-jquery-tmpl" id="tmpl"> 
    <div>{{=title}}</div> 
    <div> 
    {{#each cast}} 
     {{#if $itemNumber == 1 }}{{=name}}{{else}}, {{=name}}{{/if}}   
    {{/each}} 
    </div> 
</script> 

JS:このよう

var json = [{ title: "Mission Impossible IV", cast: [ {name: "Tom Hanks"}, {name: "Jackie Chan"}, {name: "Tom Cruise"} ]}]; 

$("#container").html(
    $("#tmpl").render(json) 
); 

レンダリング:

Mission Impossible IV 
Tom Hanks , Jackie Chan , Tom Cruise 

問題:ノートそれぞれの名前の後にスペース。テンプレートにスペースはありませんが、すべてのタグが集まって{{#if $itemNumber == 1 }}{{=name}}{{else}}, {{=name}}{{/if}}となっていますので余分なスペースはあってはいけません。

質問:余分なスペースがそこにどのように入っているかについての考えはありますか?

あなたはここでそれを微調整することができます:HTMLを単一のスペースに連続した空白文字の任意の量を凝縮するので{{/if}}{{/each}}http://jsbin.com/otiqun/2/edit

+0

'{{if/if}}'と '{{/ each}} 'の間の改行はおそらく追加の(望ましくない)空間としてレンダリングされています。その改行を削除してみてください。 –

+0

これを回答として入力すると、正しいとマークします。ありがとう。 –

答えて

1

改行はおそらく、追加のスペースとしてレンダリングされています。不要な改行を削除し、問題が修正されているかどうか確認してください。

関連する問題