Tag Archives: директива

Директивы для обработки DOM-событий в AngularJS

Всё достаточно просто, много раз использовал, но надо бы и здесь выложить. Допустим, нам нужно вешать AngularJS-обработчики на DOM-события mouseenter и mouseleave. Для этого пишем генератор директив по массиву:

Ну и можно добавлять названий дректив по вкусу. Использование:

Результат — http://grab.by/tXHy. Таким же образом можно делать директивы для любых событий: focus, blur, keypress …

Read more

AngularJS: директива для вставки html выполнением всех скриптов

Допустим, мы получаем с сервера код вида

и хотим его вывести в шаблоне. Для обычного вывода с парсингом html-тегов достаточно

Но, к примеру, jQuery умеет выполнять все скрипты, которые есть в строке ad.html. AngularJS такого из коробки не умеет. Поэтому была написана директива bind-html-with-js, используется она также:

При этом все скрипты, и …

Read more

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

Элементы с директивой ng-switch-when(ng-switch-default) вставляются в конец DOM. И поэтому, к примеру, список будет выводиться не в том порядке, как это задумано. В таких случаях лучше использовать ng-show/ng-hide

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

Такая ошибка может возникнуть при создании новой директивы, особенно при выносе контроллера в директиву. Скорее всего, она возникла из-за того, что была объявлена зависимость от $scope, например:

Объявление директивы нужно заменить на

Watch angular attrs and scope

attrs.$observe и $scope.$parent.$watch Подробнее:

ng-options в Angular.js

Который раз натыкаюсь на эти грабли, и который раз забываю. Чтобы заработало ng-options и вообще много чего с селектами, нужно обязательно указать модель для селекта (<select name=»{{name}}» ng-model=»day» class=»…»>), без этого работать не будет, т.к. (отрывок из исходников angular.js):

Видео о директивах в AngularJS

Сколько уже раз забываю написать про хорошие видео о директивах: Тонкости написания директив от создателя AngularJS (Misko Hevery) http://youtu.be/WqmeI5fZcho Тестирование директив (Vojta Jina) http://youtu.be/rB5b67Cg6bc