2 votes

ngRepeatWatch semble être un goulot d'étranglement dans Batarang

Je viens de remarquer que Batarang L'analyse de mon application AngularJS montre ce qui suit :

ngRepeatWatch | 64.2% | 136.0ms

Cela prend dix fois plus de temps que les instructions suivantes.

Cela signifie-t-il que j'utilise peut-être trop ngRepeat directive ? Comment s'en assurer ?

4voto

TheHippo Points 11900

ngRepeat est assez lent pour les grands ensembles car il crée une nouvelle portée pour chaque élément. Si vous modifiez une propriété dans la structure répétée, la modification s'applique à l'étendue parentale, etc. La création d'une liste est donc plus lente.

De même, l'application de filtres et de plages n'améliore pas la situation. Essayez de filtrer avant d'introduire les données dans le modèle ou, en fonction de vos données, faites-le du côté du serveur.

Si vous n'avez pas besoin que les modifications soient transmises à toutes les portées ou si les données ne changent pas, essayez de créer une directive pour l'élément qui doit être répété et assurez-vous qu'il n'hérite pas de la portée parentale.

Avez-vous lu :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X