0
我想一個幻燈片下/上動畫應用到組件,我也看到了後下:Angular2動畫對組件
https://stackoverflow.com/a/34170712/2755616
該解決方案似乎在DIV工作,但在我的情況下,我有一個頁面中的組件,只有在滿足某些條件時纔會顯示。當條件成立時,我希望組件滑下,當它再次變爲假時,我希望它滑動並變得不可見。
切換組件
但這似乎並沒有工作,按照上面的計算器問題提供指導時。
我想一個幻燈片下/上動畫應用到組件,我也看到了後下:Angular2動畫對組件
https://stackoverflow.com/a/34170712/2755616
該解決方案似乎在DIV工作,但在我的情況下,我有一個頁面中的組件,只有在滿足某些條件時纔會顯示。當條件成立時,我希望組件滑下,當它再次變爲假時,我希望它滑動並變得不可見。
切換組件
但這似乎並沒有工作,按照上面的計算器問題提供指導時。
您可以修改您提到的答案中的指令,使其獲取布爾類型的輸入,並更改顯示/隱藏元素/組件的輸入。 plunker with example
@Directive({
selector : '[animate-box]',
})
export class AnimateBox {
constructor(private _ab: AnimationBuilder, private _e: ElementRef) {}
@Input('animate-box')
set animateBox(isVisible: boolean) {
let animation = this._ab.css();
// if isVisible is true, animate show. if it's false animate hide
...
}
}
而在你的組件:
<some-component [animate-box]="isVisible"></some-component>
有一點要記住的是,爲了在plunker動畫工作,你的元素/組件應具備的顯示輸入block
。這就是爲什麼它首先不適合你的原因,因爲組件默認爲display:inline
。
謝謝Abdul Rahman有幫助,現在還有兩個問題: 1.當我用100%(而不是100px)替換AnimateBox組件中的高度時,幻燈片效果完全不起作用。由於滑動組件的高度未知,我想使用100%而不是將其設置爲固定的像素數。 2.我必須有條件地在我的頁面中包含組件,所以我使用* ngIf,但是當我將該幻燈片效果應用於該組件時,它不起作用,顯然是因爲該組件不存在於DOM中, ? –
其實我有一個頁面有不同的部分,每個部分有一個添加記錄鏈接,點擊添加記錄鏈接時,我想要相應的窗體(這是一個組件)slideIn。 –
@NaveedAhmed我對'ngIf'指令做了一些編輯並創建了一個新的動畫版本。 [檢查這個運動員](http://plnkr.co/edit/GxDQMWuUN4xZCbcraf66?p=preview)。我會盡力在我的答案中解釋它是否適合你。 – Abdulrahman