Ошибки при разработке AngularJS-приложения

Старайся содержать контроллеры максимально простыми.

Весь повторяющийся код выноси в сервисы.

Разделяй объявление методов контроллера и тела функций

$scope.click = click;
$scope.$watch('item', watchItem);

function click(e, item)
{
  ...
}
function watchItem(item)
{
  ...
}

Не полагайся на наследование $scope-ов контроллеров. Этот ад ты потом не сможешь поддерживать.

Достаточно будет при редизайне перенести блоки или выделить кусок контроллера в сервис. А представить нормальное тестирование этого я даже не берусь. UPD: Лучше используй controller as.

В ng-repeat не забывай про track by

По умолчанию

<div ng-repeat="obj in collection">
  {{obj.prop}}
</div>

равнозначно

<div ng-repeat="obj in collection track by $id(obj)">
  {{obj.prop}}
</div>

а это очень медленно (https://docs.angularjs.org/api/ng/directive/ngRepeat#tracking-and-duplicates)

Хорошая статья про производительность AngularJS — http://www.slideshare.net/nirkaufman/angularjs-performance-production-tips

LEAVE A COMMENT