- GlobalPositionStrategy: 當overlay的PositionStrategy設置成GlobalPositionStrategy的時候,overlay的位置是相對整個窗口而言的。
- ConnectedPositionStrategy: 當overlay的位置須要依賴於另一個視圖的位置的時候採用該ConnectedPositionStrategy來肯定overlay的位置。可使用FlexibleConnectedPositionStrategy來代替
- 可使用FlexibleConnectedPositionStrategy來代替: overlay的位置依賴於某個視圖的位置。
- NoopScrollStrategy: origin滾動的時候,overlay位置不動
- CloseScrollStrategy: origin位置變更的時候,overlay會自動關掉
- BlockScrollStrategy: origin的滾動也會消失掉
- RepositionScrollStrategy: overlay會跟着origin位置的變更而變更
表示經過ComponentFactory建立的組件的實例。 ComponentRef提供對組件實例的訪問以及與此組件實例相關的其餘對象,並容許您經過destroy方法銷燬組件實例。bash
所包含的屬性:oop
- C
- location : ElementRef 組件實例的宿主元素所在的位置
- injector : Injector 組件實例存在的注射器
- instance : C 組件實例 [這次主要用到這個屬性,能夠在service中調用該組件實例上的方法]
- hostview : ViewRef 組件實例的宿主視圖ViewRef
- changeDetectorRef : ChangeDetectorRef 組件的ChangeDetectorRef
- componentType: Type 組件類型
- destroy() : void 銷燬組件實例及其附加數據
- onDestroy(callback: Function) : void 容許註冊將在組件銷燬時調用的回調
export testClass{
// 首先在一個service中引入NotificationTestComponent,這個就是要經過引入此service會顯示的內容
private _notificationTestRef: ComponentRef<NotificationTestComponent>;
private _overlayRef: OverlayRef;
// 調用 overlay.create() 會返回一個OverlayRef 實例. 這個實例用來處理具體的一個overlay
// this._overlayRef 是一個 PortalOutlet- 一旦建立能夠經過attach Portal添加內容
private _createNotificationTest(): void {
this._overlayRef = this._overlay.create();
this._notificationRef = this._overlayRef.attach(new ComponentPortal(NotificationComponent));
}
}
複製代碼