AngularJS и проверка данных формы

AngularJS Validation

Пост состоит из следующих частей:

  • Проверка данных в HTML5
  • AngularJS расширения для валидации
  • Свои кастомные проверки данных на AngularJS
  • Вывод сообщений об ошибках и ng-messages

 

Continue reading

Angular: $scope.$on() – listen to several events

I found it quite strange that AngularJS does not have possibility to watch several Angular-events, i.e.:

[javascript]
$scope.$on([‘user.login’, ‘user.logout’], callback);
[/javascript]

and I decided to extend $on method, to make it handle such case:

[javascript]
var $onOrigin = $rootScope.$on;
$rootScope.$on = function(names, listener) {
var self = this;

if (!angular.isArray(names)) {
names = [names];
}

names.forEach(function(name) {
$onOrigin.call(self, name, listener);
});

};
[/javascript]

Sandbox for this code you can find here.

 

Десктопное приложение для Mac на JavaScript

Оказывается Objective-C теперь можно писать на JavaScript, точнее обращаться к его свойствам. Вот тут на хабре разбирается пример как это делать. Если лень читать все – под катом я делаю выжимку из статьи.

Continue reading

Какой JavaScript Framework используете вы? Опрос среди JS-разработчиков

Провел на хабре фреймворк опрос, на который откликнулось около 2к человек и получил такие результаты:

js-frameworks-poll

Сразу прошу простить за такое безграмотное составление. Да вы правы, все, кто писал в комментариях, что jQuery – это не фреймворк (как и React, Can.js, Backbone). Так же было очень опрометчиво не включить Closure, PolymerAurelia, Durandal и Marionette(отдельно от Backbone).

И тем не менее результаты довольно интересные:

  • AngularJS возглавляет гонку (если не считать jQuery)
  • React довольно быстро набирает обороты
  • Ember не набрал и 5% – для меня это стало сюрпризом
  • Ext.js – медленно умирает цепляясь за энтерпразы
  • И по прежнему большой процент разработчиков не использует фреймворки вообще

Отличие $applyAsync от $evalAsync в Angular 1.3

Пост подготовлен на основе статьи “Scope.$applyAsync() vs. Scope.$evalAsync() in AngularJS 1.3” от Ben Nadel.

Из Angular1.2 мы все знаем метод скоупа $evalAsync, который позволяет вызывать код асинхронно (относительно цикла дайджеста) не прибегая к использованию сервиса $timeout.

В Angular1.3 был добавлен еще один метод – $applyAsync. После прочтения документации может оказаться, что по прежнему не ясно отличие этих 2х методов. С этим мы и попробуем разобраться в посте.

Continue reading