angular - :increment 和 :decrement 上的 Angular 6 动画未正确触发
问题描述
试图让我的头脑围绕着一个项目列表的动画,用户可以在其中上下移动项目,一次一个,一次一步。
当文档开始讨论:increment
和:decrement
选择器值时,我感到非常兴奋。但是,我似乎无法让它发挥作用。
StackBlitz 已上线:https ://stackblitz.com/edit/angular-j6ejbe
我的代码的要点是:
animations: [
trigger('move', [
transition(':decrement', [style({ opacity: 0 }), animate('5s ease', style({ opacity: 1 }))]),
transition(':increment', [style({ transform: 'scale(0.5)' }), animate('5s ease', style({ transform: 'scale(1)' }))]),
])
],
我的html:
<div [@move]="index" *ngFor="let item of items; let index = index;">
<span (click)="moveUp(item)">^</span> <span (click)="moveDown(item)">v</span> {{index}} : {{item}}
</div>
结果很奇怪:
首先,看起来只有:increment
过渡开始了(规模),而不是:decrement
(不透明度)。其次,似乎每个索引只触发一次转换。
这是过渡/动画库的错误吗?
还是我只是使用/理解错误?
更新
部分问题似乎与*ngFor
. 如果我添加一个子div
元素并为其设置动画,情况会更好,但不是 100%。
仍然存在两个问题:
- 首先,它似乎
:increment
按预期工作,但:decrement
需要几轮才能工作。 - 其次,似乎我必须使用内部
div
元素。我似乎无法将动画放在ng-container
. 这有点烦人,因为我不喜欢添加额外div
的元素只是为了破解一些东西。
解决方案
推荐阅读
- python-3.x - 如何使用键从字典中打印特定值?
- swift - 如何创建像 viewDidLoad 这样的覆盖函数?
- json - 对于 web 服务 API 的数据大小> 15 MB,spring MVC 没有响应并且没有返回错误
- powershell - Copy-Item 在 Powershell 中为 NFS 挂载的磁盘引发 UnauthorizedAccessException
- regex - 做这两个正则表达式
- python - 将 LaTeX2WP 与 Python 一起使用时出现问题 - TypeError: 'float' 对象不能被解释为整数
- oracle10g - 如何解决 Oracle 10g 中的 TNS 协议适配器错误?
- javascript - 未解决的依赖关系汇总
- generics - 为什么`From`不自动用于强制特征实现类型
- jquery - JQuery 表单验证器插件和 Ajax