1

我在 Component 类中定义了一个对象数组,如下所示:

deskCategories : Array<any>;
this.deskCategories = [
        {
            catLabel : 'Tools',
            catIcon : 'suitcase'
        },
        {
            catLabel : 'Accounts',
            catIcon : 'table'
        },
        {
            catLabel : 'File Manager',
            catIcon : 'file'
        },
        {
            catLabel : 'Stock',
            catIcon : 'cubes'
        }
     ];

在我的模板中,我尝试将它与 ngFor 一起使用,如下所示:

<div class="column" *ngFor="let cat of deskCategories">
    <div class="ui center aligned container">
        <i class="huge {{cat.catIcon}} icon link"></i>
        <p>{{cat.catLabel}}</p>
    </div>
</div>

该列表正确显示,但我收到一个控制台错误,上面写着:

异常:./DeskComponent 类 DeskComponent 中的错误 - 内联模板:1:24 原始异常:TypeError:iterator1.next 不是函数

请注意,它适用于字符串数组。有什么我想念的吗?任何帮助,将不胜感激。谢谢。

编辑:仅在 Firefox 和 Chrome 中出现此错误(在 Edge 中工作正常!)

使用 ngFor Angular 2 时出错

4

1 回答 1

0

您在绑定时没有数组实例。

尝试:

deskCategories : [];

constructor(){ //this could/should be done in ngOnInit but not super important now

this.deskCategories = [
    {
        catLabel : 'Tools',
        catIcon : 'suitcase'
    },
    {
        catLabel : 'Accounts',
        catIcon : 'table'
    },
    {
        catLabel : 'File Manager',
        catIcon : 'file'
    },
    {
        catLabel : 'Stock',
        catIcon : 'cubes'
    }
 ];
}
于 2017-06-20T19:03:30.290 回答