Недавно после прочтения одной статьи Армина Роначера, я подумал, что неплохо было бы иметь возможность наследовать директивы и
вскоре реализовал это в своей библиотеке Angular Light (aLight).
Вообщем все наследование сводится к разбиению директивы на методы, которые в дальнейшем можно переопределить.
Вот пример al-show-slow на основе al-show, где происходит медленное появление и скрытие элемента, выглядит так:
alight.directives.al.showSlow = function(element, name, scope, env) {
var dir = alight.directives.al.show(element, name, scope, env); // Создание родительской директивы
dir.showDom = function() { // Подменяем "show"
$(element).fadeIn(1000);
}
dir.hideDom = function() { // Подменяем "hide"
$(element).fadeOut(1000);
}
return dir;
}
Пример наследования al-show
Ещё один пример al-value-delay на основе al-value, где данные попадают в модель с задержкой (без повторов).
Так же тут возможно множественное наследование, но пока не было в этом необходимости.
Читать дальше →
via Хабрахабр / Захабренные / Тематические / Посты http://habrahabr.ru/post/208282/
Комментариев нет:
Отправить комментарий