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 |
FireVolkhov, не проще тогда просто выкинуть angular на мороз и сразу писать по-человечески?)
В чём прикол фич которые всё равно нельзя использовать?) |
"и сразу писать по-человечески?)" это как?:blink:
Прикол фитч в том, чтобы использовать их вмеру |
Цитата:
Цитата:
Цитата:
--- Цитата:
|
Цитата:
Node.insertAdjacentHTML ... всему вас нужно учить :) PS вообще, ни разу ещё не страдал от фильтров в DOM (профилирование, йопт) больше всего ненавижу ng-view (или ui-view) или ng-repeat. и ещё $watch - обычно вырубаю его , где могу (т.е. где оно не нужно... а оно не нужно много где) |
Цитата:
|
Цитата:
Кроме того
content.toggleClass('ng-hide', !show);
|
я вот тут статью в тему перевел - "Оптимизируем AngularJS. Подробный разбор."
от Глеба Бахмутова |
nerv_,
Цитата:
UPD: Не делать многократного вложение директив в директивы, если нужна повторяющаяся логика использовать вложенные контроллеры angular.module '...' .directive 'dateTextfield', ($controller, ...) -> link: (scope, elem, attrs) -> commonHintCtrl = $controller 'CommonHintCtrl', $scope: scope ... |
Angular performance optimization works well when we use lazy modules, lazy modules helps to break the large chunks of codes into small so Angular JS would be optimized.
|
| Часовой пояс GMT +3, время: 00:42. |