Как отключить scope и всех дочерние scope из цикла проверки $digest?
Как отключить scope и всех дочерние scope из цикла проверки $digest?
Возможно ли это сделать на Angular?, т.к. это нужно для повышения производительности приложения. Включение/выключение остается на совести программиста. |
Нет простого решения. Нужно провести "комплекс мероприятий"
Самый очевидный путь - пробовать использовать one-time binding - тогда данные будут выводиться один раз и больше не будут проверяться на изменения. Так же если выводите большие списки через ng-repeat, то используйте track by - тогда ангулар не будет добавлять свой индекс, что значительно ускорит работу. В принципе можно и "отцепить scope" например по команде обнулить все вотчеры а потом вернуть их, хотя я сам и не пробовал: var watchers; scope.$on('suspend', function () { watchers = scope.$$watchers; scope.$$watchers = []; }); scope.$on('resume', function () { scope.$$watchers = watchers; watchers = null; }); |
artemdemo, вы случайно не автор этого блога - artemdemo.me ?
P.S. Извините за флуд |
Да, это мой блог.
|
Часовой пояс GMT +3, время: 09:26. |