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

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

Всё достаточно просто, много раз использовал, но надо бы и здесь выложить. Допустим, нам нужно вешать AngularJS-обработчики на DOM-события mouseenter и mouseleave. Для этого пишем генератор директив по массиву: var directives = angular.module(‘CommonDirectives’, []); angular.forEach([‘Mouseenter’, ‘Mouseleave’], function (eName) { var aName = ‘mm’ + eName, eName = eName.toLowerCase(); directives. directive(aName, [‘$parse’, function($parse) { return { …

Read more

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

Допустим, мы получаем с сервера код вида <script>alert(1234)</script><script type=»text/javascript»>alert(12345)</script> <script type=»asdf»>alert(1234)</script><script src=»/js/alert.js»>alert(1234)</script> <span style=»color: red;»>1234</span> и хотим его вывести в шаблоне. Для обычного вывода с парсингом html-тегов достаточно <div ng-bind-html=»ad.html | trustAsHtml»></div> Но, к примеру, jQuery умеет выполнять все скрипты, которые есть в строке ad.html. AngularJS такого из коробки не умеет. Поэтому была написана директива …

Read more

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): // if ngModel is not defined, we don’t need to do anything if (!ctrls[1]) return;

Пример работы с ng-class в Angular.js

Два способа менять класс в зависимости от условия: ng:class=»{true:'<название класса>’, false:»}[$index==selectedIndex]» и ng-class=»{<название класса>: $index==selectedIndex}» Подробнее: http://stackoverflow.com/questions/7792652/what-is-the-best-way-to-conditionally-apply-a-class-with-angularjs А то в официальных доках на эту тему не густо(

Подробно о директивах в AngularJS

http://youtu.be/WqmeI5fZcho

Директивы для Angular.js

Писать свои директивы для angular.js просто, а использовать их потом — удобно.