разделите компоненты на те которые занимаються вью, и занимаються обработкой параметров
в таком случае вы будете в том который родитель выгребать из сервиса данные
и провайдить их в компонент который занимается вью
тогда компонент в котором вы рендерите на вход будет получать
isShow: boolean,
list: [],
и и сходя из этих параметров компонент который занимается вью всегда будет получать актуальные значения на вход.
А родитель будет общаться с сервисом на тему получения новых данных
вплоть до подписки на сервис, для примера сервис вам провайдит следующие поля
list
isShow
тогда компонте обратиться к сервису и скажет
ServiceName.subscribe(FunctionalCallback)
functionCallback() на вход будет получать возможные значение
{
list: [],
isShow: boolean,
}
и потом в родителе у которого функция хендлер будет происходить присваивание всегда актуальных данных из сервиса в Ваш родитель который занимается обработкой
и провайдить их в вью компонент