2016-01-02 10 views
5

Mam stronę docelową, która przedstawi użytkownika (domyślnie) i komponent "Rejestracja", który jest zbiorem pól wejściowych umożliwiających rejestrację.Routing Angular2 ze stanami zagnieżdżonymi

Dla powracających użytkowników chciałbym, aby zobaczyli stronę docelową bez zmian, następnie kliknij "Zaloguj się" i po prostu zastąp element rejestracji komponentem logowania. Nie chcę, aby adres URL się zmieniał, powinien pozostać "/".

Dla ui-routera mogłem zagnieżdżać stany, ale nie jestem pewien czy router Angular2 jeszcze je obsługuje?

app.ts

@Component({ 
    selector: 'app', 
    template: ' 
    *snip* 
    <router-outlet></router-outlet> 
    *snip* 
    ', 
    directives: [Footer, ROUTER_DIRECTIVES] 
}) 
@RouteConfig([ 
    { path: '/...', name: 'Landing', component: LandingComponent, useAsDefault: true }, 
    { path: '/about', name 'About', component: AboutComponent } 
]); 

landing.ts

@Component({ 
    selector: 'landing', 
    template: ' 
    <body> 
     <div> 
     <router-outlet></router-outlet> 
     </div> 
    </body>', 
    directives: [ROUTER_DIRECTIVES] 

}) 
@RouteConfig([ 
    { path: '/', name: 'RegisterForm', component: RegisterForm, useAsDefault: true }, 
    { path: '/login', name: 'LoginForm', component: LoginForm }, 
]) 

wykonaj ścieżki dla komponentu lądowania muszą być inaczej?

Odpowiedz

-2

Dlaczego w ogóle trzeba wtedy korzystać z trasy? Nie możesz po prostu powiązać z boolean, która ukrywa lub pokazuje odpowiednią sekcję?

<div *ngIf="showReg">Registration</div> 

<div *ngIf="!showReg">Login</div> 
+0

To nie odpowiada na pytanie. –

+0

Nie odpowiada na pytanie – Scipion

Powiązane problemy