У меня есть простая директива вдоль этих линий:розжиг угловой Js анимации в директиве
angular.module('application').directive('sdTitle', sdTitleDirective);
sdTitleDirective.$inject = ['$animate'];
function sdTitleDirective($animate) {
var directive = {
template: '<div class="title-container">some content</div>',
link: link,
replace: true
};
return directive;
function link(scope, element, attrs) {
element.bind("click", function() {
$animate.leave(element);
});
}
}
И анимация, подобной этой:
angular.module('application').animation('.title-container', titleAnimation);
function titleAnimation() {
return {
leave: leaveAnimation
};
function leaveAnimation(element, done) {
console.log('animate leave', element);
element.hide().fadeOut(800, done);
}
}
Кажется, я не могу заставить leaveAnimation фактически срабатывать при нажатии элемента директивы. Мне, должно быть, что-то не хватает, как работает $ animate или как анимация javascript вызывается, но я в недоумении.
Как правильно использовать методы анимации $ animate службы в директиве и с анимацией javascript, а не с CSS3?
Спасибо! Это определенно решает проблему контекста и отвечает на вышеупомянутый вопрос, хотя я борюсь с этой модифицированной версией, где я тоже пытаюсь оживить элемент. Функция enterAnimation никогда не вызывает вызов. Кроме того, я не уверен, почему обратные вызовы done() не выполняются. Я не вижу их в документальных сигнатурах метода для $ animate.enter и $ animate.leave. "введите (элемент, parentElement, afterElement, [options]);" "оставить (элемент, [опции]);" http://plnkr.co/edit/trCJyv1wuMNNTsyics1p?p=preview – Stefan
Добро пожаловать :) У меня нет времени прямо сейчас, но я помогу вам через час или два. – tasseKATT
Вот плункер с комментариями: http://plnkr.co/edit/ZxrCRjLLzzCelI3JNCie?p=preview – tasseKATT