Comment unwatch " une expression

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 individuel dans ce tableau pour les changements.

Voir cette 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 lieu de retrait de l'enregistrement j'ai pu avoir plus de contrôle sur mon $digest et en quelque sorte sauter chaque ligne individuelle?

Ce cas précis est en fait un exemple d'une question plus générale. Je sais que $watch retourne un 'deregisteration fonction, mais ça n'aide pas lorsqu'une directive est en cours d'enregistrement les montres, ce qui est la plupart du temps.

InformationsquelleAutor Roy Truelove | 2012-11-30