【问题标题】:Angular 2 *ngFor syntax [duplicate]Angular 2 *ngFor 语法 [重复]
【发布时间】:2016-07-14 03:05:09
【问题描述】:

我的主要问题是尝试循环一定次数让我们说 n,但ngFor 只接受数组,例如:“#item of [1, 2, ..., n]”,那么仅使用项目计数循环的正确方法是什么(没有创建一个只有数字 1 到 n 的无用数组)?

所以我开始阅读更多的语法,然后我注意到有:

  • *ngFor="#item of items;
  • *ngFor="#item in items;

那么“in”和“of”有什么区别,有哪些用例?和我原来的案子有关系吗?

提前致谢。

【问题讨论】:

标签: angular angular2-template


【解决方案1】:

没有

*ngFor="#item in items;

你必须使用of。 早期版本需要in,但他们将其更改为符合https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/for...of

应该是

*ngFor="let item of items; ..."

目前ngFor 只迭代数组。

【讨论】:

    【解决方案2】:

    of 确实引用了items 集合的每个元素,即#item#item 是为 *ngFor 呈现的每个元素创建的局部变量。

    in 存在于 Angular 1 版本中,它在 Angular2 ngFor 语法中不受支持。

    【讨论】:

      【解决方案3】:

      为了类似于 ES6 angular 的语法,做了这个改变。 在 ES6 中,

      for (var v of arr){
         console.log(v); // it will return value (not key like in for...in)
      }
      

      在 Angular 2.0 中,它们也遵循相同的语法。

      *ngFor="#item of items;
      

      将返回值。

      in 在角度 1 中,类似于 for(var i in arr)。但在 Angular 2.0 中不再支持

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-28
        • 2018-03-15
        • 1970-01-01
        • 2017-09-20
        • 2017-03-07
        • 2018-12-19
        • 2017-01-11
        相关资源
        最近更新 更多