不支持递归,解析符号 routerAnimation
Recursion not supported, resolving symbol routerAnimation
我试图在 --prod 模式下构建我的 Angular 4.3 应用程序,但我收到以下错误(正常构建工作完美):
ERROR in Recursion not supported, resolving symbol routerAnimation in ..
这是我的 admin.component.ts 的样子:
animations: [
trigger('routerAnimations', [
transition('* => page1', [
useAnimation(routerAnimation)
]),
transition('* => page2, [
useAnimation(routerAnimation)
]),
])
]
还有我的动画代码:
export const routerAnimation = animation([
query(':enter, :leave', style({ position: 'fixed', left: 0, right: 0 }), {optional: true}),
query(':leave', style({ zIndex: 100 }), {optional: true}),
query(':enter', style({ transform: 'translateX(-150%)' }), {optional: true}),
group([
query(':leave', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(200%)', opacity: 0 })), // y: '-100%'
animateChild()
]), {optional: true}),
query(':enter', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0%)' })),
animateChild()
]), {optional: true})
])
]);
经过几次测试,我注意到只有在使用以下动画代码时才会出现错误:
group([
query(':leave', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(200%)', opacity: 0 })), // y: '-100%'
animateChild()
]), {optional: true}),
query(':enter', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0%)' })),
animateChild()
]), {optional: true})
])
知道哪里出了问题吗?
似乎是 Angular AOT 编译器的问题,问题已在 angular github
中打开
昨天有人为此提交了一个错误修复,它可能会在下一个 Angular 版本中修复。
我试图在 --prod 模式下构建我的 Angular 4.3 应用程序,但我收到以下错误(正常构建工作完美):
ERROR in Recursion not supported, resolving symbol routerAnimation in ..
这是我的 admin.component.ts 的样子:
animations: [
trigger('routerAnimations', [
transition('* => page1', [
useAnimation(routerAnimation)
]),
transition('* => page2, [
useAnimation(routerAnimation)
]),
])
]
还有我的动画代码:
export const routerAnimation = animation([
query(':enter, :leave', style({ position: 'fixed', left: 0, right: 0 }), {optional: true}),
query(':leave', style({ zIndex: 100 }), {optional: true}),
query(':enter', style({ transform: 'translateX(-150%)' }), {optional: true}),
group([
query(':leave', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(200%)', opacity: 0 })), // y: '-100%'
animateChild()
]), {optional: true}),
query(':enter', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0%)' })),
animateChild()
]), {optional: true})
])
]);
经过几次测试,我注意到只有在使用以下动画代码时才会出现错误:
group([
query(':leave', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(200%)', opacity: 0 })), // y: '-100%'
animateChild()
]), {optional: true}),
query(':enter', group([
animate('300ms cubic-bezier(.35,0,.25,1)', style({ transform: 'translateX(0%)' })),
animateChild()
]), {optional: true})
])
知道哪里出了问题吗?
似乎是 Angular AOT 编译器的问题,问题已在 angular github
中打开昨天有人为此提交了一个错误修复,它可能会在下一个 Angular 版本中修复。