Angular 4 - Как запустить анимацию из директивы?
У меня есть нерешенная проблема по репо здесь, но я решил, что было бы полезно задать ее здесь в любом случае.
Я хочу, чтобы запустить анимацию из директивы программно. Когда используешь Renderer.animate
, Я получил:
Renderer.animate is no longer supported!
Когда используешь Renderer.invokeElementMethod
, Я получил:
Cannot read property 'apply' of undefined
Как бы я это сделал?
1 ответ
Решение
Изменения приближаются к Angular! Смотрите этот выпуск GitHub в официальном репо Angular.
TL; DR
Что действительно хорошо: с первой бета-версией Angular 4.1 (которая выйдет в качестве последующего выпуска до этой недели 4.0.0) вы можете сделать следующее:
class MyCmp {
constructor(private _builder: AnimationBuilder) {
}
myMethod() {
const animation = this._builder.build([
style(...),
animate(...),
group([
animate(...)
animate(...)
animate(...)
])
]);
const player = animation.create(someElement);
player.play();
}
}