2
私はAngfular 2をsymfony 3で使用しています。データ配列があり、いくつかのデータは同じです。私は同じデータを見せたいだけです。私はパイプを検索し、次のように見つかりました角2のgroupbyまたはフィルターパイプ
inline template:14:16 caused by: Cannot read property 'reduce' of undefined
どのように私は私の問題を解決することができます:私はこのエラーを取得しています私のプロジェクトを実行すると
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({name: 'groupBy'})
export class GroupByPipe implements PipeTransform{
transform(value: Array<any>, field:string): Array<any> {
const groupedObj = value.reduce((prev, cur) =>{
if(!prev[cur[field]]) {
prev[cur[field]] = [cur]
} else{
prev[cur[field]].push(cur);
}
return prev;
}, {});
return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));
}
}
?
そして、私のテンプレート:
<tr *ngFor="let model of data | groupBy:'firstName,lastName'">
<td>{{ model.user.firstName || '-' }} {{ model.user.lastName || '-' }}</td>
</tr>
今、私は実行することができますが、この時、私はfirstNameのundifenedエラーを取得。 firstNameをどのように呼び出す必要がありますか?
このパイプを呼び出す場所からテンプレートを投稿する –