当我想使用 'ng build --prod' 构建我的 Angular 应用程序时出现错误:
src/app/route-animations.ts(15,9) 中的错误:不支持“slideTo”表达式表单的模板编译期间出错。src/app/route-animations.ts(20,15):不支持“slideTo”表达式表单的模板编译期间出错。src/app/route-animations.ts(24,39):不支持“slideTo”表达式表单的模板编译期间出错。src/app/route-animations.ts(27,39):不支持“slideTo”表达式表单的模板编译期间出错。src/app/route-animations.ts(15,9):不支持“slideTo”表达式形式的模板编译期间出错。src/app/route-animations.ts(20,15):不支持“slideTo”表达式表单的模板编译期间出错。src/app/route-animations.ts(24,39):“slideTo”模板编译期间出错 不支持表达式形式。src/app/route-animations.ts(27,39):不支持“slideTo”表达式表单的模板编译期间出错。
我真的不知道如何解决这个问题。
我已经在我的应用程序中添加了路由器动画,如下所示:
<div [@routeAnimations]="prepareRoute(outlet)" style="height: 100%">
<router-outlet #outlet="outlet"></router-outlet>
</div>
import { slider } from './route-animations';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
animations: [
slider
]
})
export class AppComponent implements OnInit {
ngOnInit(): void {
...
}
prepareRoute(outlet: RouterOutlet) {
return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation'];
}
}
import { trigger, transition, query, style, animate, group } from '@angular/animations';
export const slider =
trigger('routeAnimations', [
transition('isRight => isLeft', slideTo('left') ),
transition('isLeft => isRight', slideTo('right') )
]);
export function slideTo(direction: string) {
return [
query(':enter, :leave', [
style({
position: 'absolute',
top: 0,
[direction]: 0,
width: '100%'
})
], { optional: true }),
query(':enter', [
style({ [direction]: '-100%'})
]),
group([
query(':leave', [
animate('600ms ease', style({ [direction]: '100%'}))
], { optional: true }),
query(':enter', [
animate('600ms ease', style({ [direction]: '0%'}))
])
]),
];
}