gpt4 book ai didi

angular - 无法处理动画 - 返回零元素

转载 作者:太空狗 更新时间:2023-10-29 18:01:23 27 4
gpt4 key购买 nike

在我为我的数据创建服务后,动画停止工作。看起来是因为当页面最初加载时,ng-repeat 中没有元素(因为它正在获取数据)。似乎与 THIS 类似和 THIS :

错误:

ERROR Error: Unable to process animations due to the following failed trigger transitions @listAnimation has failed due to:

- `query(":enter")` returned zero elements. (Use `query(":enter", { optional: true })` if you wish to allow this.)

动画:

trigger('listAnimation', [
transition('* => *', [
query(':enter', style({ opacity: 0}), { optional: true }),
query(':enter', stagger('150ms', [
animate('.5s ease-in', keyframes([
style({ opacity: 0, /*transform: 'translateY(-75px)',*/ offest: 0}),
style({ opacity: .5, /*transform: 'translateY(35px)',*/ offest: .3}),
style({ opacity: 1, /*transform: 'translateY(0px)',*/ offest: 1})
]))
]))
])
])

HTML:

<div [@listAnimation]>
<div *ngFor="let member of members" class="member-card">
member info goes here...
</div>
</div>

现在,在你说 “像错误消息所说的那样输入 { optional: true }” 之前......我做到了 - 它摆脱了错误消息,但没有实际上使动画工作:

trigger('listAnimation', [
transition('* => *', [
query(':enter', style({ opacity: 0}), { optional: true }),
query(':enter', stagger('150ms', [
animate('.5s ease-in', keyframes([
style({ opacity: 0, /*transform: 'translateY(-75px)',*/ offest: 0}),
style({ opacity: .5, /*transform: 'translateY(35px)',*/ offest: .3}),
style({ opacity: 1, /*transform: 'translateY(0px)',*/ offest: 1})
]))
]), {optional: true})
])
])

请记住,在从应用程序组件中取出数据之前,这一切都有效。数据在那里,应用程序正常运行,只是这个动画不再起作用。

最佳答案

确保仅当成员数组不为空时才显示您的列表容器。这样,只有当您的列表中有内容时才会触发动画。

<div [@listAnimation] *ngIf="members.length > 0">
<div *ngFor="let member of members" class="member-card">
member info goes here...
</div>
</div>

关于angular - 无法处理动画 - 返回零元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46352514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com