【发布时间】:2017-03-18 18:23:57
【问题描述】:
我有一个Directive 我可以添加元素来检查相关元素的当前滚动位置。
看起来像这样:
@Directive({
selector: '[my-scroll-animation]'
})
当位置达到某个阈值时,我希望元素使用动画出现在屏幕上。我知道对于Component,我可以附加animations 属性以及host 属性中的一些设置来激活动画。
我想要这样的东西:
import { myScrollAnimation } from './animations';
@Directive({
selector: '[my-scroll-animation]'
animations: [myScrollAnimation] // <- not possible?
})
如何在指令中实现这一点?
使用:Angular 4.0.0-rc.4
【问题讨论】:
-
是的,指令没有
animations,可能是因为每个元素可能有多个指令,并且动画必须以某种方式堆叠。仍然想知道最简洁的方法是什么。 -
如果您只是想要组件的可重用动画,您可以创建一个
animation.ts文件,并将其作为动画引用到您的组件中。 -
重点不是分享动画,而是从指令中触发它们。
-
我相信 Angular 使用 css 动画(过渡、变换等)。由于指令没有模板和样式,您可以实现的最接近的事情可能是更改指令中的类或属性,同时在您的父组件中拥有动画配置。
标签: javascript angular typescript angular4