Angular 2 -直接在选择器上添加动画处理程序
Angular 2 - Add animation handler directly on the selector
在所有angular 2 API动画示例中,动画处理程序都是在innerHtml,
我想把它直接放在组件选择器上。
在下面的例子中,[@visibility]="visibility"
在div
标签上,但我希望它在selector: 'vps-node'
上,所以我的模板只是<ng-content>
,没有父div标签
@Component({
selector: 'vps-node',
template: `<div [@visibility]="visibility"><ng-content></ng-content></div>`,
animations: [
trigger('visibility', [
state('in', style({ transform: 'translateX(0)' })),
transition('void => *', [
animate(300, keyframes([
style({ opacity: 0, transform: 'translateX(-100%)', offset: 0 }),
style({ opacity: 1, transform: 'translateX(15px)', offset: 0.3 }),
style({ opacity: 1, transform: 'translateX(0)', offset: 1.0 })
]))
]),
transition('* => void', [
animate(300, keyframes([
style({ opacity: 1, transform: 'translateX(0)', offset: 0 }),
style({ opacity: 1, transform: 'translateX(-15px)', offset: 0.7 }),
style({ opacity: 0, transform: 'translateX(100%)', offset: 1.0 })
]))
])
])
]
})
我想我会分享这一点,但我已经设法使动画触发主机元素。
检查下面处理页面转换的代码。
@Component({
selector: 'styles',
templateUrl: './styles.template.html',
host: {
'(@routeAnimation.start)': 'pageEnterStarted($event)',
'(@routeAnimation.done)': 'pageEnterCompleted($event)',
'[@routeAnimation]': 'true',
},
animations: [
trigger('routeAnimation', [
state('*', style({ opacity: 1})),
transition('void => *', [
style({ opacity: 0}),
animate(250)
]),
transition('* => void', animate(250, style({opacity: 0})))
])
]
})
export class StylesComponent {
pageEnterStarted() {
}
pageEnterCompleted() {
}
}
原来host:属性需要放在括号里
主持人:{' ( @visibility ] ":"可见性"},
selector: 'vps-row-node',
host: { '[@visibility]': 'visibility' },
template: `<ng-content></ng-content>`,
animations: [...]
相关文章:
- 使用JavaScript使按钮做出反应(添加动画)
- 使用引导事件添加动画
- 照片滑动:关闭图库会为错误的矩形(缩略图)添加动画效果
- 当用户在输入字段事件中输入内容时,为该字段事件添加动画占位符
- 在多条测地线折线上为符号添加动画效果
- 在 JavaScript 中为其添加动画效果时更改图像颜色
- 香草JS:延迟点击事件以添加动画
- 如何为右侧的文本添加动画效果
- d3 为多条SVG线添加动画效果
- 为不透明度和位置添加动画效果
- 如何使用jQuery向条形图添加动画
- 向选项卡导航添加动画
- 向此 jQuery 脚本添加动画
- 为查询同位素过滤添加动画
- 如何在按钮单击时为左右滚动添加动画效果
- 画布 - 为旋转文本添加动画效果
- 添加动画以显示/隐藏JavaScript函数
- 在滚动时向 css 更改添加动画
- 为智能手机的 HTML 表格添加动画效果
- 当地图滚动到视图中时,为谷歌地图标记添加动画效果