Javascript 使用*ngFor循环定义次数而不是在数组上重复的方法?

Javascript 使用*ngFor循环定义次数而不是在数组上重复的方法?,javascript,angular,Javascript,Angular,是否有一种方法可以*ngFor循环定义的次数,而不必总是遍历数组 例如,我希望一个列表重复5次,循环类似于C#中的循环 for(int i=0;i{{number} ` }) 导出类SampleComponent{ (...) } 希望它能帮助你, 蒂埃里 编辑:修复了fill语句和模板语法。一种方法如@TGH所述,第二种方法可以使用前面提到的for循环,然后在空数组中推送[i]的值,并在该数组上启动*ngFor。这也是可能的。您可以从这两种方法中选择一种。我认为数组(5).fill()…缺

是否有一种方法可以*ngFor循环定义的次数,而不必总是遍历数组

例如,我希望一个列表重复5次,循环类似于C#中的循环

for(int i=0;i<4;i++){
}
预期结果:

<ul>
   <li><span>1</span></li>
   <li><span>2</span></li>
   <li><span>3</span></li>
   <li><span>4</span></li>
   <li><span>5</span></li>
</ul>
  • 一,
  • 二,
  • 三,
  • 四,
  • 五,

在您的组件中,您可以定义一个数字数组(ES6),如下所述:

export class SampleComponent {
  constructor() {
    this.numbers = Array(5).fill(0).map((x,i)=>i);
  }
}
请参阅此链接以获取阵列创建:

然后,您可以使用
ngFor
对该数组进行迭代:

@View({
  template: `
    <ul>
      <li *ngFor="let number of numbers">{{number}}</li>
    </ul>
  `
})
export class SampleComponent {
  (...)
}
@View({
模板:`
    {{number}
` }) 导出类SampleComponent{ (...) }
或者很快:

@View({
  template: `
    <ul>
      <li *ngFor="let number of [0,1,2,3,4]">{{number}}</li>
    </ul>
  `
})
export class SampleComponent {
  (...)
}
@View({
模板:`
    [0,1,2,3,4]的let数>{{number}
` }) 导出类SampleComponent{ (...) }
希望它能帮助你, 蒂埃里


编辑:修复了fill语句和模板语法。

一种方法如@TGH所述,第二种方法可以使用前面提到的for循环,然后在空数组中推送[i]的值,并在该数组上启动*ngFor。这也是可能的。您可以从这两种方法中选择一种。我认为
数组(5).fill()…
缺少一个0。它应该是
数组(5)。填充(0)
。从文档中,编号应该是让编号,这是唯一的解决方案,这让我很难过。为了得到OP想要的东西(每个li包含一个从1开始的序列号),扩展@olNoy的答案:
{i+1}
@View({
  template: `
    <ul>
      <li *ngFor="let number of [0,1,2,3,4]">{{number}}</li>
    </ul>
  `
})
export class SampleComponent {
  (...)
}