jsRender - лишние пробелы в каждом цикле - PullRequest
1 голос
/ 25 января 2012

HTML:

<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}}, поэтому лишних пробелов там не должно быть.

Вопрос: есть идеи относительно того, как эти лишние пробелы туда попадают?

Вы можете настроить его здесь: http://jsbin.com/otiqun/2/edit

1 Ответ

1 голос
/ 25 января 2012

Разрыв строки между {{/if}} и {{/each}}, скорее всего, отображается как дополнительный пробел, поскольку HTML уплотняет любое количество последовательных пробельных символов в один пробел.Попробуйте удалить все ненужные разрывы строк и посмотрите, решит ли это проблему.

...