我使用的是Angular 4.2.5,我正在寻找一种在使用Renderer2
创建的元素中进行动画制作的方法。以前,Renderer
有一个功能.animate()
,但现在不是这种情况。比方说,我有以下指令:在使用Renderer2创建的元素中进行动画制作
import { Directive, Input, ElementRef, Renderer2, HostListener } from '@angular/core';
@Directive({
selector: '[text-content]'
})
export class TextContentDirective {
@Input('text-content') textContent: string;
box: ElementRef;
constructor(private element: ElementRef, private renderer: Renderer2) { }
@HostListener('mouseenter', ['$event.target'])
mouseEnter(target) {
this.box = this.renderer.createElement('div');
let span = this.renderer.createElement('span');
let content = this.renderer.createText(this.textContent);
this.renderer.appendChild(span, content);
this.renderer.appendChild(this.box, span);
this.renderer.appendChild(this.element.nativeElement, this.box);
}
}
而且
<div [text-content]="Hello World">Hover me</div>
元素被创建并添加到时我将鼠标悬停div
的div
的HTML,但我怎么能使其出现与动画?通过向生成的div
添加一个类可能是可能的。但不能太快,否则动画不会启动。我正在寻找一种方法来处理@angular/animations
。
你尝试官方文档? [Angular 4动画](https://angular.io/guide/animations)。现在,由于Angular团队引入了平台独立层,因此动画不在Renderer2中。 –
@ShanilFernando更多关于动画元素而不是动画元素 –
你尝试过使用CSS3过渡吗? –