1. Использовать {{::value}} синтаксис, когда нет необходимости обновлять данные (доступно в 1.3.0 beta)
Пример
2. Делать больше DOM манипуляций в директиве
Вместо
<div ng-show=”something”></div>
$scope.something = false;
$scope.someMethod = function () {
$scope.something = true;
};
Использовать
var menu = $element.find(‘ul’);
menu.hide();
$scope.someMethod = function () {
menu.show();
};
3. По минимуму использовать фильтры в DOM
Вместо
{{ array | filter : expression : comparator }}
Использовать
scope.result = $filter('filter')(array, expression, comparator);
4. В часто вызываемых функциях mousemove, mouseover, mouseout и т.п. не использовать лишний раз $apply или $digest