Je développe une grande application mobile qui doit fonctionner sur les anciens appareils prettty. Et j'ai rencontré un problème de long temps de digestion.
Pourriez-vous me donner un conseil, comment le réduire?
Je considérais d'appeler $scope.$digest()
au lieu de $timeout()
pour éviter $ tirant digérer $ rootScope et mettre à jour seulement $ scopes nécessaire et ses enfants lorsque cela est nécessaire.
Mais il y a un autre problème qui existe, je dois vérifier $$ phase à chaque fois que j'appelle $ digest sur $ scope et ça me semble bizarre. Je pense que je fais quelque chose de mal.
0
A
Répondre
0
Vous ne devriez pas avoir à utiliser $ digest la plupart du temps. Angular gère déjà ce tour d'événements en javascript. Ce que vous devriez vraiment se concentrer sur est d'utiliser le moins possible,
- deux données de manière contraignante (lier une fois, ou transmettre des données par le biais d'événements, etc.)
- deux données de caractère contraignant - au sérieux, c'est la pire chose à faire avec ce cadre
- observateurs, en particulier ceux que les montres collections
- lourd utilisation d'élément jquery/angulaire par la manipulation dom
- jeter un oeil à ce guide, https://github.com/johnpapa/angular-styleguide
essayez de réduire les numéros d'observateur, utilisez une liaison unidirectionnelle au lieu de deux voies, utilisez 'ngIf' au lieu de' ngShow' – MarkoCen
merci, j'ai utilisé 1.3 angulaire et l'événement ne savait pas sur la liaison unidirectionnelle, de sorte que votre réponse est très utile. –