2016-02-19 2 views
0

Я использую meteor (1.2) и пытаюсь использовать {{#each}} для итерации массива. Массив генерируется помощником. я использую что-то вроде этого (упрощенный для отладки, конечно)Странное поведение #each для массива с нулем

{{numbers}}<br> 
{{#each numbers}} 
    {{this}}<br> 
{{/each}} 

И все это нормально, если я не получаю массив типа [100, 100, 100, 100, 0]. В этом случае я получаю это

100,100,100,100,0 

100 
0 
100 
100 
100 

Это не для того, что я хочу видеть. Массивы без нулей показаны без проблем.

Спасибо!

ответ

1

No issue for me

Для меня нет никаких проблем с кодом на Метеор 1.2.1. Вы можете использовать @index, чтобы получить индекс текущей итерации и доступ к элементам с помощью помощника, как это,

В вашем HTML,

{{numbers}}<br> 
{{#each numbers}} 
    {{@index}} - {{getNumber @index}}<br> 
{{/each}} 

В ваших JS,

getNumber: function (index) { 
    return numbers[index]; 
} 
+0

Да. Я использую словарь, но это костыль, а не решение. –

+0

> Для меня у меня нет проблем с кодом - Самая странная часть, в которой я использую этот шаблон на нескольких страницах, и для некоторых из них работает без проблем. –

+1

Поскольку шаблон работает отлично в некоторых шаблонах и не работает так, как должен в других, это, скорее всего, вызвано Meteor. Проверьте других помощников, которые могли бы изменить ваш массив/словарь, вызывающий проблему. – Kishor