2017-08-02 13 views
1
trigger('expandCollapse', [ 
      state('open', style({ 
       'height': '*' 
      })), 
      state('close', style({ 
       'height': '0px' 
      })), 
      transition('open <=> close', animate(1000)) 
     ]) 

持っていないようですが、角度のアニメーションフレームワークを使用した高さには何のアニメーションはありません4.3.1アニメーションは、拡大崩壊が正常に動作崩壊を拡大アニメーション化するこのコードを使用してトランジション効果

https://plnkr.co/edit/tY4z1QPvdKMeU6M82cTF?p=preview

は、問題がNoopAnimationsModuleことで同じ

答えて

2

のための小さなデモを作成しました。これは動作します:

//our root app component 
import {Component, NgModule, VERSION} from '@angular/core' 
import {BrowserModule} from '@angular/platform-browser' 
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 
import { trigger, state, style, transition, animate } from '@angular/animations'; 
@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
    <button (click) ="openReportsFilter()">Open Close</button> 
     <h2 [@expandCollapse] = 'openCloseAnim'>Hello {{name}}</h2> 
    </div> 
    `, 
    animations: [ 
     trigger('expandCollapse', [ 
      state('open', style({ 
       'height': '*' 
      })), 
      state('close', style({ 
       'height': '0px' 
      })), 
      transition('open <=> close', animate(1000)) 
     ]) 
    ] 
}) 
export class App { 
    name:string; 
    constructor() { 
    this.name = `Angular! v${VERSION.full}` 
    this.openCloseAnim = 'open'; 
    } 
    openReportsFilter(): void { 
     this.openCloseAnim = (this.openCloseAnim == 'open') ? 'close' : 'open'; 
    } 
} 

@NgModule({ 
    imports: [ BrowserModule,BrowserAnimationsModule ], 
    declarations: [ App ], 
    bootstrap: [ App ] 
}) 
export class AppModule { 


} 
1

私はあなたのコードを少し修正しました。ここでデモを確認することができます:https://plnkr.co/edit/S7YdfUZN2t0fey9pgo6x?p=preview

//our root app component 
import {Component, NgModule, VERSION} from '@angular/core' 
import {BrowserModule} from '@angular/platform-browser' 
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 
import { trigger, state, style, transition, animate } from '@angular/animations'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
    <button (click) ="openReportsFilter()">Open Close</button> 
     <h2 *ngIf="openCloseAnim" [@expandCollapse] = 'openCloseAnim'>Hello {{name}}</h2> 
    </div> 
    `, 
    animations: [ 
     trigger('expandCollapse', [ 
      state('expandCollapseState', style({height: '*'})), 
     transition('* => void', [style({height: '*'}), animate(1000, style({height: "0"})) ]), 
     transition('void => *', [style({height: '0'}), animate(1000, style({height: "*"})) ]) 
    ] 
}) 
export class App { 
    name:string; 
    openCloseAnim: boolean = true; 
    constructor() { 
    this.name = `Angular! v${VERSION.full}` 
    } 
    openReportsFilter(): void { 
    console.log('clicked'); 
    this.openCloseAnim = !this.openCloseAnim; 
    console.log(this.openCloseAnim); 
     //this.openCloseAnim = (this.openCloseAnim == true) ? false : true; 
    } 
} 

@NgModule({ 
    imports: [ BrowserModule,BrowserAnimationsModule ], 
    declarations: [ App ], 
    bootstrap: [ App ] 
}) 
export class AppModule { 


} 
+0

この作品は動作しますが、削除したいと思わない要素 –

関連する問題