मैं * ngfor लूप में कुंजी पाइप का उपयोग कर रहा हूं। जेएसओएन में डेटा खिलाया जाता है।कोणीय 2 - * ngFor कुंजी के साथ रीफ्रेश नहीं किया जाता है जब ऑब्जेक्ट बदल जाता है
@Pipe({
name: 'keys'
})
export class KeysPipe implements PipeTransform {
transform(value, args: string[]): any {
if (!value) {
return value;
}
let keys = [];
for (let key in value) {
keys.push({key: key, value: value[key]});
}
return keys;
}
}
- जब मैं JSON में तत्व की पर हटाना
<div *ngFor="let item of jsonObject | keys">
<p>{{ item.value.code }}</p>
</div>
समस्या है, ngFor अद्यतन नहीं किया गया है।
मैं दो विकल्प पहले से ही की कोशिश की है:
- बुला this.applicationRef.tick(); तत्व के बाद हटाने के लिए, कोई परिवर्तन नहीं
- अशुद्ध पाइप "शुद्ध: झूठी"। इससे सैकड़ों एमबी में क्रोम में भारी स्मृति उपयोग हुआ और मुझे प्रक्रिया को मारना पड़ा।
यदि कोई अन्य तरीका है?
धन्यवाद!
'OnPush' को' ChangeDetectionStrategy' सेट करके देखें। –