в вашем коде нет ничего плохого, поэтому ваша подписка не работает, значит, вы должны подписаться на ngOnInit (), а не на ловушку жизненного цикла ngOnChanges ().
ngOnChanges () вызывается всякий раз, когда изменяется значение параметра @Input.
Для любой подписки (если вы хотите прослушать некоторые изменения или подписаться).Рекомендуется поместить эту подписку в жизненный цикл ngOnInit ().
Примечание. Не забудьте отменить подписку в ловушке жизненного цикла ngOnDestroy ().это спасло бы ваш код от любой утечки памяти, даже если его обрабатывает Angular ..