【问题标题】:Does Angular support an *ngWhile microsyntax?Angular 是否支持 *ngWhile 微语法?
【发布时间】:2018-02-17 19:48:04
【问题描述】:

我将如何编写一个while循环,相当于

while (x--) {
  <li> foo {{x}} </li>
}

使用类似于*ngFor 的“微语法”,但用于使用增量器或减量器而不是对象进行循环。所以如果组件有x = 5。我想要

<li> foo 5 </li>
<li> foo 4 </li>
<li> foo 3 </li>
<li> foo 2 </li>
<li> foo 1 </li>

之类的。 Template Toolkit does this with WHILE。我正在寻找这种功能。 jade/Pugs也是如此。

【问题讨论】:

  • *ngFor 用于在您尚未探索的情况下在模板中循环
  • @AniruddhaDas 对,我想在模板中循环一段时间。
  • 用 *ngFor 不可能吗?
  • like
  • {{foo}}
  • @AniruddhaDas 不是 afaik。随意告诉我如何,如果是的话。据我所知,ngFor 循环遍历迭代器。
  • 标签: angular loops templates while-loop


    【解决方案1】:

    如果你想向上计数,*ngFor 有一个可供你使用的索引值。不过我不知道有什么方法可以倒数。

    <li *ngFor="let foo of foos; let i = index">
     foo {{i}}
    </li>
    

    输出:

    foo 0
    foo 1
    foo 2
    foo 3
    foo 4
    

    【讨论】:

    • 你也可以显示你正在设置的foos 吗?那是 foos=5 吗?
    • 这是您选择的集合。如果您只想通过多次增加来执行此操作,那么不幸的是没有简单的方法可以做到这一点。见this question.
    • 好吧,我真的在寻找一个 ngWhile 或类似的东西,而不是强迫它与 ngFor =(
    • ngFor 是唯一的模板循环类型。所以你可能会被卡住使用它。如果您提供有关您的具体问题的更多详细信息,也许有人可以为您的情况提供更好的方法?
    • 我正在尝试来自计数器的元素列表。我觉得我可以do this in the 1950s with perl
    【解决方案2】:

    它遍历一个数组,将你想要的任何东西放入数组的函数中:

    <li *ngFor="let foo of foos.slice(0, 5)">
     foo {{i}}
    </li>
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签