2015-05-15 3 views
0

У меня есть ReactiveVar в моем помощнике, который возвращает количество фотографий, которые будут размещены в шаблонеИспользование ReactiveVar в {{каждый}} помощник

photoCount:-> 
    Template.instance().rvPhotoCount.get() 

Теперь мне нужно реактивно заполнить мой HTML с # о img Фотографии photo. Я пробовал использовать {{each photoCount}}<img>, но получил ошибку {{#each}} currently only accepts arrays, cursors or falsey values.
Как это решить?

ответ

1

Оператор {{#each}} используется для перебора списка вещей, например, в вашем случае, списка ваших изображений.

В данный момент вы проходите мимо {{#each}}номер изображений у вас есть. И each не знает, как перебирать один номер!

Если вы хотите отобразить каждое из изображений, вы должны пройти each список изображений непосредственно в виде массива или курсора:

{{#each images}}<img src={{src}} />{{/each}} 

Если вы просто хотите, чтобы отобразить номер из изображения, просто используйте {{photoCount}}!

<p>There are {{photoCount}} images.</p> 

Если вы просто хотите напечатать ряд одинаковых «статических» IMG, вам придется предварительно обработать массив в вашем помощнике:

photoCount: function(){ 
    var countArr = []; 
    var count = Template.instance().rvPhotoCount.get(); 
    for (var i=0; i<count; i++){ 
     countArr.push({}); 
    } 
    return countArr; 
    } 

И использовать {{#each}} на нем. К сожалению, Meteor очень ограничен с точки зрения встроенных функций шаблонов.

+0

Спасибо! Но мне нужно реагировать на изменение количества изображений на странице. Итак, как я могу сказать «Метеор»: «Дай мне 5 раз», когда я нажимаю кнопку А? И когда я нажимаю кнопку B 'делает их 3 вместо 5'. – avalanche1

+0

Отредактировал мой ответ. – SylvainB

+0

Вы подтвердили мои мысли о решении. Спасибо. – avalanche1

0

Я решил изменить вспомогательный вывод на массив для решения.
Чтобы заполнить массив, я использую срез массива coffeescript.

photoCount:-> 
    count=Template.instance().rvPhotoCount.get() 
    array=[1..count] 

 Смежные вопросы

  • Нет связанных вопросов^_^