Это скорее вопрос передового опыта, немного контекста (упрощенно): у меня есть SPA со страницей входа, приборной панелью, страницей 404 и неавторизованной страницей.
приборная панель имеетверхняя панель и боковая панель (назовем ее оболочкой). страница входа не должна включать оболочку. 404 и неавторизованные страницы должны включать часть оболочки, если пользователь вошел в систему, и не должны включать ее, если пользователь не вошел в систему.
Метод A: Иметь shell.module
- будет включать в себя:
- shell-routing-module (со всей приборной панелью в качестве дочернего маршрута)
- shell будет иметьAuthGuard
- компонент оболочки (с
<router-outlet></router-outlet>
для размещения панели мониторинга, 404 и неавторизованных страниц)
МетодB: * ngIf роутер-розетка
tl; dr app-component.html
</ng-container>
<ng-template #notauthenticated>...</ng-template>
<ng-template #authenticated>...</ng-template>
Вердикт:
В сети я нашел решения, используяоба метода. Я также реализовал оба, и у меня есть несколько проблем с каждым (по-разному в каждом случае), я думаю, что предпочитаю метод A, но я впервые использую угловой, поэтому мне неудобно выбирать один.