我的应用中有两个组件。
我需要为这些页面之间的过渡设置动画。
我需要翻页1,然后才会出现第2页。
我有任何插件可以在离子2中完成。
任何参考/示例都将受到赞赏。
我正在使用this.navController.setRootPage(Page2)
从一个页面转到另一个页面。
答案 0 :(得分:3)
我不知道Ionic框架,但这是一个演示(plunker)它如何与简单的Angular2一起使用:http://plnkr.co/edit/yJHjL5ap9l4MwOimCyyY?p=preview
使用Component装饰器的animations
功能:
组件A
@Component({
selector: 'home',
directives: [ROUTER_DIRECTIVES],
template: `
<div class="radibre">
Home page
</div>
`,
styles: ['.radibre { width: 200px; height: 100px; background: red; color: white; }'],
host: {
'[@routeAnimation]': 'true',
'[style.display]': "'block'",
'[style.position]': "'absolute'"
},
animations: [
trigger('routeAnimation', [
state('*', style({transform: 'translateX(0)', opacity: 1})),
transition('void => *', [
style({transform: 'translateX(-100%)', opacity: 0}),
animate(1000)
]),
transition('* => void', animate(1000, style({transform: 'translateX(100%)', opacity: 0})))
])
]
})
export class Home {
constructor() { }
}
组件B
@Component({
selector: 'page',
template: `
<div class="page">Another page</div>`,
styles: ['.page { width: 200px; height: 100px; background: green; color: white; }'],
host: {
'[@routeAnimation]': 'true',
'[style.display]': "'block'",
'[style.position]': "'absolute'"
},
animations: [
trigger('routeAnimation', [
state('*', style({transform: 'translateX(0)', opacity: 1})),
transition('void => *', [
style({transform: 'translateX(-100%)', opacity: 0}),
animate(1000)
]),
transition('* => void', animate(1000, style({transform: 'translateX(100%)', opacity: 0})))
])
]
})
export class Page {
constructor() { }
}