| 
	
	
		
		
			
			 
				Angular: Performance optimization / Оптимизация производительности
			 
			
		
		
		
		Всем привет 
В этой теме хотелось бы обсудить вопрос оптимизации производительности в ангуляре: как правильно писать код; чего следовало бы избегать; рецепты оптимизации производительности и т.п.
 
---
 
Ниже выжимка из всей темы
 СОВЕТЫ ПО ОПТИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ
расширенное объяснение по каждому пункту можно найти почитав тему
- Если возможно то не слушать объекты и массивы целиком
 
- Без крайней нужды не вешать WATCH на функции
 
- Не вызывать 
$scope.$apply();
$scope.$digest();
 слишком часто (например, в обработчиках событий scroll или mousemove) 
- Не выводить в
 
<element ng-repeat="..."></element>
 тысячи элементов, а вывести первые элементы и сделать динамическую подгрузку 
- Если элемент скрыт с помощью ng-show или ng-hide
 
<element ng-show="false"></element>
<element ng-hide="true"></element>
 и внутри него есть тяжелые вычисления, вероятно, имеет смыл использовать [ng-if|ng-switch] чтобы их избежать 
- Использовать синтаксис 
 
<element ng-repeat="item in array track by $index"></element> или
<element ng-repeat="item in array track by item.id"></element>
 вместо 
<element ng-repeat="item in array"></element>
 чтобы отслеживать изменения по индексу или id, а не по значению 
- Обновлять текущий и вложенные скопы
 
$scope.$digest();
 а не все приложение 
$scope.$apply();
  
  
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось nerv_, 25.01.2014 в 03:39.
				Причина: добавлены советы
				
			
		
		
	
		
		
	
	
	 |