1
我想將overflow:hidden/visible
添加到body標籤,具體取決於模式是否可見。如果可能,我想用@HostBinding
來實現,但我不知道如何。如何使用HostBinding將樣式綁定到組件外部的元素
像這樣的東西是什麼,我想:
constructor(private _modalApi: ModalApiService) {
_modalApi.isOpen$.subscribe(
modal => {
this.overflow = this.isOpen ? 'hidden' : 'visible';
}
)
}
@HostBinding('body.style.overflow')
overflow: string;
我意識到@HostBinding
結合,在這種情況下,將模態主元素,但由於@HostListener
可以聽文件,窗口等我想這裏可能有類似的用例。
這是可能的還是我必須做出一些奇怪的解決方法?
請注意,我已經查看了其他問題,建議將您的應用程序組件放在body標籤上,然後通過應用程序組件進行操作,但是我不能依賴另一個組件,因爲這個組件應該不知道任何應用程序的結構,仍然工作。
那麼你會如何去做這件事? – Chrillewoodz
我更新了我的答案。 –
雖然不是「普通DOM訪問」不好嗎? – Chrillewoodz