我正在使用 Angular 2 和 Immutable JS,但我似乎无法在我的模板中使用简单的 for 循环。真是令人沮丧。我尝试了以下旧语法(基于教程)
<div *ngFor='#filter of filterArray' class='filter-row'>
<div class='row-title'>{{filter.get(title)}}</div>
</div>
和新语法
<div *ngFor=' let filter of filterArray' class='filter-row'>
<div class='row-title'>{{filter.get(title)}}</div>
</div>
我尝试过使用和不使用大括号内的不可变映射的 .get 语法,但我只是无法让它工作。
过滤器数组看起来像:
this.filterArray = fromJS([{
title: 'Brand',
},
{
title: 'Category'
},
{
title: 'Each UPC'
}]);
我需要使用一些特殊的语法才能使其起作用吗?我的浏览器上没有显示任何内容,并且使用 let 语法时没有出现任何错误。
版本:
"@angular/common": "^2.1.0",
"@angular/compiler": "^2.1.0",
"@angular/core": "^2.1.0",
"@angular/forms": "^2.1.0",
"@angular/http": "^2.1.0",
"@angular/platform-browser": "^2.1.0",
"@angular/platform-browser-dynamic": "^2.1.0",
"@angular/router": "^3.0.1",
"immutable": "^3.8.1",
"typescript": "2.0.2"
编辑:以下有效,但看起来很糟糕
<div *ngFor='let filter of filterArray let i=index' class='filter-row'>
<div class='row-title'>{{filterArray.get(i).get('title')}}</div>
</div>