2016-09-13 5 views
0

Как я могу подписаться на событие анимации с данным компонентом? Я не могу добавить более подробную информацию.Угловой 2 RC2 onanimationend

@Component({ 
host: { 
    '[class.like-popover]' : 'true' 
}, 
selector: 'like-tooltip', 
template: `<div @flyInOut="'in'"> 
    <div class="arrow"></div> 
    <div class="tooltip-inner">{{text}}</div> 
</div>`, 
styleUrls: ['like-tooltip.component.css'], 
animations: [ 
    trigger('flyInOut', [ 
     state('in', style({opacity: 1})), 
     transition('* => *', [ 
      animate('2s linear', keyframes([ 
       style({opacity: 1, offset: 0}), 
       style({opacity: 0, transform: 'translate3d(0, -100%, 0)', offset: 1}), 
      ])) 
     ]) 
    ]) 
]}) 
export class LikeToolTipComponent { 
constructor(_elementRef: ElementRef) { 
} 

Извините за дубликат: Angular2 Animation onDone callback

+0

Что вы имеете в виду подписаться? это не работает? – micronyks

+0

Я имею в виду обнаружить анимацию как-то. Я пробовал этот путь: '' '_elementRef.nativeElement.addEventListener ('animationend webkitAnimationEnd',() => console.log (" end end "));' '' или только с тем или иным именем события. Лучше всего было бы сделать видимым из события что-то вроде этого: '' 'Observable.fromEvent (_elementRef.nativeElement, 'animationend'). Take (1) .subscribe (e => { console.log (" end end "); });' '' – apreg

ответ

0

rc.6 введены анимации обратные вызовы, как:

(@flyInOut.start)="animationStarted($event)" 
(@flyInOut.done)="animationDone($event)"# 
animationStarted(event: AnimationTransitionEvent) { 
    console.warn('Animation started: ', event); 
} 

animationDone(event: AnimationTransitionEvent) { 
    console.warn('Animation done: ', event); 
} 
+0

Это хорошо, но что мне делать, если мне не разрешено обновлять? – apreg

+0

Извините, понятия не имею. –

Смежные вопросы