Dans une application angulaire 7, ma directive NGFF ne fonctionne pas et ne produit aucune erreur non plus. Voici comment l'application fonctionne p>
Le projet est ici . P>
3 Réponses :
Vous devez changer votre Manchetection du composant vers Onph Strategy désactive la détection automatique des changements. P> Si vous avez une raison d'utiliser pour le faire, vous devez injecter et le déclencher après avoir chargé les données: P> Par défaut code > En supprimant simplement cette ligne ou en utilisant
changeetectionstrategy.default code> à la place.
ONPUSH code> Stratégie dans votre composant, vous devez alors déclencher manuellement la détection des modifications p>
modifiéTectorRef code> dans votre composant: p> xxx pré>
getData.subscribe(images => {
// do something
this.cdr.detectChanges();
});
Ceci est parce que vous utilisez "Onpush" et ne pas déclencher la détection de changement lorsque vous recevez vos images. P>
Vous pouvez soit injecter le changeTectorRef code> et appeler
markforcheck () code> dessus après l'attribution de vos images à
this.images code>, mais mieux Vous ne devriez pas gérer vous-même vous-même et "déballer" vos observables: p>
Avant le * NgFor Vous devez avoir une DIV et que la DIV doit avoir une condition * NGIF après avoir récupéré les données du service, alors le vrai VRAI Le * NGIF maintenant il devait essayer ceci. P>
L'OP utilise onpush code> détection de changement. Il suffit de ajouter un div avec
* ngif code> n'a aucun impact et n'est pas la bonne solution. S'il vous plaît regarder la Stackblitz partagé.
Au fait, votre logique de service est complexe. Vous pouvez trouver de meilleures façons.