currentSize cделайте как Subject и из getViewportSize возвращайте this.currentSize.asObservable() и в ngOnDestroy не правильно отписка делается, нужно ее сохранить при вызове getViewportSize() в ngOnInit и вызывать на подписке unsubscribe. В calculateCurrentSize эмитите значение this.currentSize.next('small');
currentSize cделайте как Subject и из getViewportSize возвращайте this.currentSize.asObservable() и в ngOnDestroy не правильно отписка делается, нужно ее сохранить при вызове getViewportSize() в ngOnInit и вызывать на подписке unsubscribe. В calculateCurrentSize эмитите значение this.currentSize.next('small');
currentSize cделайте как Subject и из getViewportSize возвращайте this.currentSize.asObservable() и в ngOnDestroy не правильно отписка делается, нужно ее сохранить при вызове getViewportSize() в ngOnInit и вызывать на подписке unsubscribe. В calculateCurrentSize эмитите значение this.currentSize.next('small');
в ngOnDestroy нужно будет ещё и Subject завершить this.currentSize.complete() ?