您和先生们当然在他的一些 github 存储库示例中这样做了。采取以下措施:
route_animations.ts
import {
trigger,
animate,
style,
transition
} from '@angular/core';
var startingStyles = (styles) => {
styles['position'] = 'fixed';
styles['top'] = 0;
styles['left'] = 0;
styles['right'] = 0;
styles['height'] = '100%';
return styles;
}
export default function(name) {
return trigger(name, [
transition('void => *', [
style(startingStyles({
transform: 'translateX(100%)'
})),
animate('0.5s ease-out', style({ transform: 'translateX(0%)'}))
]),
transition('* => void', [
style(startingStyles({
transform: 'translateX(0%)'
})),
animate('0.5s ease-in', style({ transform: 'translateX(-100%)'}))
])
]);
}
然后将其导入到如下组件中:
import {default as routerAnimations} from '../route_animations';
然后在初始化组件的时候在动画Param下这样调用:
animations: [routerAnimations('route')],
自己看看这个以获得更好的想法,但我希望这会有所帮助。 https://github.com/matsko/ng2eu-2016-code/blob/master
向 matsko 致敬。