2017-03-29 5 views
0

ich meine Wurzel Routendatei gereinigt, indem ein Kind benutzerdefinierten Modul für Routen zu schaffen, und hier ist das Skript:Angular 2 Kinder Route Modul die korrekte URL angezeigt werden, zeigt aber eine andere Komponente

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { SigninComponent } from './signin/signin.component'; 
import { SignupComponent } from './signup/signup.component'; 

const childRoutes: Routes = [ 

    {path: 'signin', component: SigninComponent}, 

    {path: 'signup', component: SignupComponent} 

]; 

@NgModule({ 
    imports: [ 
    RouterModule.forChild(childRoutes) 
    ], 
    exports:[RouterModule] 
}) 
export class ChildRoutingModule { } 

Die Wurzel Route Modul jetzt ist:

import ... 
import ... 
import { AppRoutingModule } from './routes' 
import { ChildRoutingModule } from './auth/auth.route' 
@NgModule({ 
    declarations: [ 
    AppComponent 
    ], 
    imports: [ 
    AppRoutingModule, 
    ChildRoutingModule, 
    BrowserModule, 
    AuthModule, 
    RouterModule 
    ], 
    providers: [AuthService], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

Die prob:

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { SigninComponent } from './auth/signin/signin.component'; 
import { SignupComponent } from './auth/signup/signup.component'; 
import { NotfoundComponent } from './notfound/notfound.component'; 
import { ChildRoutingModule } from './auth/auth.route' 

const appRoutes: Routes = [ 
    {path: '', redirectTo:'/signup', pathMatch:'full'}, 

    {path: '**', component: NotfoundComponent} 
]; 

@NgModule({ 
    imports: [ 
    RouterModule.forRoot(appRoutes) 
    ], 
    exports:[RouterModule] 
}) 
export class AppRoutingModule { } 

ich die 2 route Module in die app.module.ts importiert lem ist nun auf der Startkomponente der Anwendung, die die Anmeldungen Komponente ist, ist die URL korrekt: http://localhost:4200/signup aber die angezeigte Komponente ist die 404-Komponente, die durch {path: '**', component: NotfoundComponent} in der Wurzel Route Komponente definiert ist

zu erwähnen, dass keine Fehler werden an der Konsole überhaupt angezeigt

+0

statt RedirectTo: '/ Anmeldungen', Verwendung RedirectTo: 'Anmeldung', und erneut versuchen. –

+0

Nein. Immer noch das gleiche Problem – droidnation

+1

dies als Wechsel: Importe: [ BrowserModule, AuthModule, RouterModule, ChildRoutingModule, AppRoutingModule, ], –

Antwort

1

Ändern Sie diese als:

imports: [ 
    BrowserModule, 
    AuthModule, 
    RouterModule, 
    ChildRoutingModule, 
    AppRoutingModule, 
    ], 

Sie müssen endlich laden AppRoutingModule, denn bevor diese Route Routen alle Routen Kind wissen muss, zu tiefen Ebene auf init Zeit machen Routing.

Oder es wird auf die Fehlerkomponente umgeleitet, wie Sie definiert haben.

+0

Das ist falsch, der OP-Fehler liegt an der Tatsache, dass Routen in einer Sequenz hinzugefügt werden und wenn Sie etwas haben, das Ihre Anfrage abrufen könnte (im Fall von OP ein Platzhalter '{path: '**', Komponente: NotfoundComponent} ') Es wird stattdessen diese Route verwenden. – fredrik

+0

Ja ich habe auch erklärt, dass die Bestellung falsch war. –

Verwandte Themen