J'essaie d'imprimer un document à l'aide de fenêtre.Print () mais Angular n'attends pas que la nouvelle valeur soit rendue. Il conserve l'impression de l'ancienne valeur.
J'essaie d'imprimer juste après avoir attribué la nouvelle valeur à l'objet comme celui-ci p> Le navigateur conserve l'impression de l'ancienne valeur. Comment imprimer la nouvelle valeur à la place? P> p>
3 Réponses :
Vous pouvez ajouter un délai d'attente avec une petite valeur.
Cela a fonctionné comme un charme sur Firefox et Chrome! Merci!
@ user3768828 - C'est plus d'une manière pirate de résoudre le problème. Je suggérerais que vous forciez manuellement la détection de changement manuellement.
Le problème ici est qu'une fois que vous avez mis à jour la valeur, elle ne reflétera pas en vue que le cycle de détection de changement suivant est terminé, ce qui sera après l'exécution de l'impression. Vous pouvez utiliser à la place, vous pouvez utiliser settimeout code> pour résoudre ce problème, mais ce serait plus d'un piratage imo. détectchanges code> pour forcer la détection de changement manuellement. De cette façon, la nouvelle valeur reflétera la vue et seulement l'impression sera exécutée. P>
Il y a un opérateur RXJS Ce Observer code> qui peut être utilisé pour observer les modifications avec un certain objet: observer code> opération peut être trouvé ici p> p>