Category Archives: Angular.js

AngularJS: $watch за объектами

Чтобы не вызывалась лишний раз функция, нужно добавить еще один параметр true в $watch: $rootScope.$watch(‘session’, function (value) { $scope.profile = ProfileDataService.get(); }, true); Но он иногда запускает обработчик, поэтому можно сделать внутри дополнительную проверку: $rootScope.$watch(‘session’, function (value, valueOld) { if (! angular.equals(value, valueOld)) { $scope.profile = ProfileDataService.get(); } });

AngularJS: провайдеры

Вот пример конфигурируемого провайдера JS Bin

npm для AngularJS

http://ngmodules.org/modules

AngularJS: добавить заголовки ко всем запросам к серверу

angular.module(«YourAppModule», []).config([«$httpProvider», function($httpProvider) { $httpProvider.defaults.headers.common[‘custom’] = ‘custom_val’; $httpProvider.defaults.headers.put[‘Content-Type’] = ‘application/x-www-form-urlencoded’; $httpProvider.defaults.headers.post[‘Content-Type’] = ‘application/x-www-form-urlencoded’; }]);

Объяснение работы AngularJS путём создания своего AngularJS

Начало серии статей. http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html Уровень подготовки читателя — средний. Объём текста — большой. Перевод — http://habrahabr.ru/post/201832/ (не читал).

AngularJS 1.2.0 вышел

Да, то чего так долго ждали, о чём так долго говорили большевики, свершилось! http://blog.angularjs.org/2013/11/angularjs-120-timely-delivery.html Animations and Transitions — самое главное, чего ждали Better error messages (including error minification) Strict Contextual Escaping Track By function to prevent duplicates in ng-repeat Controller As syntax to access controller instances in templates Promise A+ Compliance (http://promises-aplus.github.io/promises-spec/) Separation of ngRoute …

Read more

AngularJS: особенности ng-switch (и, возможно, ng-if)

Элементы с директивой ng-switch-when(ng-switch-default) вставляются в конец DOM. И поэтому, к примеру, список будет выводиться не в том порядке, как это задумано. В таких случаях лучше использовать ng-show/ng-hide <div ng-app ng-controller=»MyCtrl»>{{val}} <ul ng-switch=»val»> <li>1</li> <li ng-switch-when=»1″>2</li> <li>3</li> </ul> </div>

AngularJS Unknown provider: $scopeProvider <- $scope <- selectorDirective

Такая ошибка может возникнуть при создании новой директивы, особенно при выносе контроллера в директиву. Скорее всего, она возникла из-за того, что была объявлена зависимость от $scope, например: directives.directive(‘selector’, [‘$scope’, ‘GeoSelect’, function selectorGeoExtended($scope, GeoSelect) { return { restrict: ‘AE’, replace: true, scope: {}, template: ‘<div></div>’, link: function ($scope) { // @debug console.log($scope); } }; }]); Объявление …

Read more

Dirty checking в AngularJS и производительность

Misko Havery рассуждает о производительности data-binding в AngularJS: http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933

Как написать приложение Google Chrome на AngularJS

http://www.ng-newsletter.com/posts/chrome-apps-on-angular.html