我有一個Angular2應用程序,我試圖給我的路由添加一個動畫,所以當我改變頁面時它會滑動。輸入的動畫工作正常,但是離開的動畫沒有激活,上一頁在新頁面加載後消失。有誰知道這個問題的原因? plunkerAngular2 - 離開動畫不能應用
根據anuglar2 docs,我認爲我的轉換是正確的。
// transition(':enter', [ ... ]); // void => *
// transition(':leave', [ ... ]); // * => void
動畫文件
export function routerTransition() {
return trigger('routerTransition', [
transition('void => *', [
style({ transform: 'translateX(100%)' }),
animate(1000)
]),
transition('* => void', [
style({ transform: 'translateX(-100%)' }),
animate(1000)
])
])
}
child_1.component.ts
import { Component } from '@angular/core';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'
import { Router } from '@angular/router';
import { Observable } from 'rxjs/Rx';
import { routerTransition } from '../../directives/router.animation';
@Component({
selector: 'about',
template: require('./about.component.html'),
styles: [require('./about.component.css')],
animations: [routerTransition()],
host: { '[@routerTransition]': '' }
})
child_2.component.ts
import { Component } from '@angular/core';
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'
import { Router } from '@angular/router';
import { Observable } from 'rxjs/Rx';
import { routerTransition } from '../../directives/router.animation';
@Component({
selector: 'home-info',
template: require('./home.component.html'),
styles: [require('./home.component.css')],
animations: [routerTransition()],
host: { '[@routerTransition]': '' }
})
這個工作,但100%的寬度扭曲我的網頁。當我刪除寬度時,動畫像以前一樣工作。任何解決方案? – John
另外我不能向下滾動頁面了。 – John
你可以調整頁面的寬度嗎? –