流星:在模板中使用while循环

时间:2014-09-12 23:51:28

标签: javascript meteor meteor-blaze

如何在流星大火中使用while循环? 我尝试使用{{unless}},但这不起作用。
这是我试过的:

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

根本不起作用。

1 个答案:

答案 0 :(得分:0)

在空格键中有 没有#while,这是流星火焰默认的模板引擎。

#unless关键字是否定的#if,条件是不真实。除非块不是循环,它只能运行一次。就像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>

参数通常是Meteor游标(例如collection.find()的结果),但它也可能是纯JavaScript数组,null或undefined。

&#34;否则&#34;如果序列中的项目在任何时间都为零,则可以提供使用的部分(没有新的数据上下文)。