2014-09-12 3 views
0

Как использовать цикл while в метеорном пламени? Я пробовал использовать {{unless}}, но это не сработало.
Это то, что я пробовал:
Метеор: использование цикла while в шаблоне

<template name="homePage"> 
    <h2>Welcome to home page! </h2> 
    {{#unless numberOfDays 0}} 
     <span>hi</span> 
     {{numberOfDays--}} 
    {{/#unless}} 
</template> 

Это не работает.

ответ

0

Существуетнет #while в spacebars, шаблонный движок, который по умолчанию в метеоритный-блеске.

Ключевое словоявляется отрицательным #if, условным на то, что не является правдивым. Если блок не является циклом, он может работать только один раз. Например, если блок будет работать или не запускаться. # Unless запускается, если условие не является правдивым.

Единственная конструкция цикла - это #each. Вы можете эмулировать поведение цикла for или while, вычисляя результаты вне шаблона и помещая их в переменную массива. В шаблоне вызовите #each в переменной массива.

Хотя запись настраиваемого handlebars block helper может использоваться для создания пользовательской итерации, такой как цикл while, пространственные символы Meteor являются вилкой кода руля и могут потребовать несколько иной синтаксис.

Для большинства простых целей #each достаточно. Данные переформатирования часто позволяют #each использовать естественным образом.

Из Spacebar docs

#Each

Шаблон #each тега принимает аргумент последовательности и вставляет его содержимое для каждого элемента в последовательности, установив контекст данных на значение этого пункта:

<ul> {{#each people}} <li>{{name}}</li> {{/each}} </ul>

аргумент, как правило, курсор метеора (результат collection.find(), например), но она также может быть простой JavaScript массив, нулевой или не определено.

Может быть предоставлен раздел «else», который используется (без нового контекста данных), если в последовательности есть нулевые элементы в последовательности.