我正在編寫一個需要在調整大小時動態更改其內容的Angular2組件。我現在用的實驗渲染器@角/核心(V2.1.0),可連線了以下點擊收聽:在Angular2組件中偵聽組件大小調整事件的最佳方法是什麼?
this.rollupListener = this.renderer.listen(this.rollUp, 'click', (event) => {
...
});
但不幸的是,我不能爲resize事件做同樣的 - 無論是「調整」或「」的onResize不工作:
this.resizeListener = this.renderer.listen(this.container, 'resize', (event) => {
// this never fires :(
});
我能夠拿起瀏覽器中使用以下調整事件:
@HostListener('window:resize', ['$event.target'])
onResize() {
...
}
但遺憾的是並不是所有的組件在我的應用程序調整是由於瀏覽器調整大小。
基本上,我正在尋找JQuery的等價的:
$(this.container).resize(() => {
...
});
Thete對元素沒有調整大小事件,只在窗口上。 jQuery可能使用輪詢。 –
感謝您在正確的方向引導我,Günter!我要麼使用Marc的庫http://marcj.github.io/css-element-queries/,要麼執行一個指令,爲一個元素註冊一個變異觀察者。 –