РЕШЕНИЕ 1: есть ли в Routing расширенная функция для перехода к
разные компоненты на одном и том же URL?
Да, вместо этого вы можете использовать стратегию определения местоположения хешей. Таким образом, ваши страницы будут перенаправлены только под углом.
Пример: http://localhost.com/#/user
Ваш сервер не будет пытаться вернуть страницу для пользователя, а angular оценит ее и отобразит ваш пользовательский экран.
Единственное, что вам нужно сделать, это запустить useHash с true
@NgModule({
imports: [ RouterModule.forRoot(routes, {useHash: true})],
exports: [ RouterModule ]
})
Это было бы лучшим решением, чем поиск более чистого способа скрытия и отображения компонентов на одной странице.