Как отключить 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, время: 05:38. |