Вам нужны:
1. Routing - есть компоненты,
которые можно использовать независимо
2. Контроллеры - чтобы в роутах ссылаться на Контроллер@методКонтроллера
3. И нужная вам задача делается в рамках обычного функционала нормальных роутеров
Раз у вас велосипед, можно продолжить велописедить, и написать свой роутинг - например, вот
хорошее видео, где показывается, как это делать. Автор видео, после множества примеров, в конце показывает, как подключить и использовать сторонний модуль Aura.Router