Dire que j'ai une ng-repeat avec un grand tableau.
Lorsque ng-repeat s'exécute, il ajoute chaque élément de ce tableau pour un isolé champ d'application, ainsi que le tableau lui-même dans un champ. Cela signifie que $digest vérifie l'ensemble de la matrice pour des changements, et en plus de cela, il vérifie chaque élément de ce tableau pour les changements.
Voir ce plunker comme un exemple de ce dont je parle.
Dans mon cas d'utilisation, je n'ai jamais changer un seul élément de mon tableau donc je n'ai pas besoin de les avoir vu. Je ne jamais changer l'ensemble de la matrice, dans lequel cas ng-repeat re-rendre le tableau dans son intégralité. (Si je me trompe sur cette s'il vous plaît laissez-moi savoir..)
Dans un tableau de (disons) de 1000 lignes, c'est plus de 1000 expressions que je n'ai pas besoin évalué.
Comment puis-je radier chaque élément de l'observateur tout en continuant à regarder le tableau principal?
Peut-être, au lieu de révocation de l'enregistrement j'ai pu avoir plus de contrôle sur mon $digest et en quelque sorte sauter chaque ligne individuelle?
Ce cas est un exemple d'une question plus générale. Je sais que $watch retourne un 'deregisteration la fonction, mais ça n'aide pas lorsqu'une directive est en cours d'enregistrement les montres, ce qui est la plupart du temps.