У меня есть хорошая рабочая версия полноэкранного ngx-datatable
, которая заполняет необходимое мне пространство с помощью следующего кода. Тем не менее, я боюсь, что это очень неэффективно, и нужно, чтобы он был очень производительным, чтобы сделать UX красивым и четким.
ngOnInit() {
this.resizeObservable$ = fromEvent(window, 'resize')
this.resizeSubscription$ = this.resizeObservable$.subscribe(evt => {
console.log('event: ', evt)
this.getAndSetHeight();
})
}
ngAfterViewInit() {
this.getAndSetHeight();
}
getAndSetHeight() {
const mainElement = document.querySelector('#mainElement') as HTMLElement
const titleElement = document.querySelector('#titleElement') as HTMLElement;
const mainHeight = mainElement.offsetHeight
const titleHeight = titleElement.offsetHeight
document.querySelector('.ngx-datatable').setAttribute("style", `height:${mainHeight - titleHeight - 150}px`);
document.querySelector('.datatable-scroll').setAttribute("style", `height:${mainHeight - titleHeight - 100}px`);
}
Как я могу очистить этот код, чтобы сделать его намного более эффективным?
Большое спасибо заранее.