W angularJS ui-router pozwala nam używać 2 komponentów z tą samą trasą przy użyciu stanów (jak w tym przykładzie Angular UI Router: Different states with same URL?).Angular2 - dwa komponenty o tej samej trasie
Czy można osiągnąć to samo zachowanie w kątowym2? Jeśli to możliwe, możesz połączyć/podać przykłady lub obejścia?
W tym przypadku użyto czegoś podobnego do Facebooka lub Twittera, gdzie adres URL pozostaje taki sam, ale zawartość zmienia się w zależności od tego, czy jesteś zalogowany, czy nie.
Do tej pory jedyny sposób, w jaki mogę to osiągnąć, to użycie * ngIf w szablonie "rodzica", aby wybrać selektor jednego z dwóch komponentów "dzieci". Coś takiego:
<home-logged-in *ngIf="authenticated()"></home-logged-in>
<home-logged-out *ngIf="!authenticated()"></home-logged-out>
Czy są jakieś zalecane sposoby, aby to zrobić?
Dzięki
Dzięki za odpowiedź, jednak to nie jest to, czego szukam. Potrzebuję 1 trasy prowadzącej do 2 elementów warunkowo. Podobnie jak w tym pseudo-kodzie: żądanie "/ home"; if (authenticated == true): przejdź do komponentu "authenticated_home" else przejdź do komponentów "public_home" – dem00n
Rozumiem. Jestem prawie pewien, że router sam w sobie nie zapewnia tego wsparcia. Myślę, że '* ngIf'jest dobrym rozwiązaniem. A co z wykorzystaniem różnych tras i automatycznym przekierowaniem do innego wariantu, jeśli dla zalogowanego użytkownika zostanie przekazana trasa, ale użytkownik nie jest zalogowany (lub odwrotnie), jak wyjaśniono tutaj http://www.captaincodeman.com/2016/03/31/angular2-route-security/ –
Rozważałem, że to jednak zmieni adres URL w przeglądarce, którego próbuję uniknąć. Na razie pójdę z * ngIf i zobaczę, czy ktokolwiek zaproponuje alternatywne rozwiązanie. – dem00n