Хочу отобразить данные отфильтровав их по id "Attribute". Но данные не отображаются и не какой ошибки в консоли нет. Ошибка будет возникать только в том случаи если убрать это
if(!this.attribute) { return; }
. И она будет выглядеть так:
ERROR TypeError: Cannot read property 'attribut_id' of undefined
at eval (values.component.ts:179)
at Array.filter ()
at SafeSubscriber.eval [as _next] (values.component.ts:179)
at SafeSubscriber.__tryOrUnsub (Subscriber.js:238)
at SafeSubscriber.next (Subscriber.js:185)
at Subscriber._next (Subscriber.js:125)
at Subscriber.next (Subscriber.js:89)
at MapSubscriber._next (map.js:83)
at MapSubscriber.Subscriber.next (Subscriber.js:89)
at RefCountSubscriber.Subscriber._next (Subscriber.js:125)
values: Array<Value>;
filteredValues = [];
@Input() attribute: Attribute;
ngOnInit() {
this.loadValues();
}
private loadValues() {
this.loading = true;
let filteredValues;
if (this.servValue) {
this.servValue.getValues().subscribe(
value => {
this.loading = false;
if(!this.attribute) { return; }
this.values = value;
this.filteredValues = this.values
.filter((value) => value.l_attributs_id == this.attribute.attribut_id)
}
);
}
}
<tbody>
<tr>
<td *ngFor="let value of filteredValues" style="text-align: center;">
<b>{{value.name}}</b>
</td>
</tr>
</tbody>