2016-08-08 20 views
0

Ich versuche, ein Routing für meine angular2 App zu machen. Ich habe viele Fragen wie this und this gesehen, aber keiner von ihnen hat mir geholfen. HierKein Anbieter für RouterOutletMap! in angular2 app

ist mein app.route.ts:

import { provideRouter, RouterConfig } from '@angular/router'; 
import {FormComponent} from './form.component'; 
import {AboutComponent} from './about-this.component'; 

const routes: RouterConfig = [ 
    { path:'home' , component: FormComponent }, 
    { path:'about', component: AboutComponent }, 
    { path:'**' , component: FormComponent } 
]; 

export const appRouterProviders = [ 
    provideRouter(routes) 
] 

und dann hier ist meine Stammkomponente:

import { ROUTER_DIRECTIVES, Router } from '@angular/router'; 
import { Component } from '@angular/core'; 
import {NavbarComponent} from './shared/navbar.component'; 
import {appRouterProviders} from './app.routes' 


@Component({ 
    moduleId: module.id, 
    selector: 'app-root', 
    templateUrl: 'app.component.html', 
    styleUrls: ['app.component.css'], 
    directives:[NavbarComponent,ROUTER_DIRECTIVES], 
    providers: [appRouterProviders] 
}) 

export class AppComponent { 
    title = "Here is Root!"; 
    } 

und im Tempel ist (app.component.html):

<router-outlet></router-outlet> 

Wie können Sie siehe, ich habe ./app.routes als meinen Routenanbieter verwendet. Als Ergebnis, ich erwarte, wenn ich die http://localhost:4200/home verwenden bringt es die Formularkomponente, aber es passiert nicht. Außerdem gibt es keinen Fehler in der Konsole. Was läuft falsch?

Update: ich auch, bootstraped meine app mit main.ts:

import { bootstrap } from '@angular/platform-browser-dynamic'; 
import {AppComponent} from './app.component'; 
import {appRouterProviders } from './app.routes'; 

bootstrap(AppComponent,[appRouterProviders]); 
+0

Wenn Ihre Seite geladen wird, aktualisieren Sie sie und sehen Sie, ob ein Fehler auftritt. – Bean0341

Antwort

0

Der Router zur Verfügung gestellt werden muss, in bootstrap

bootstrap(AppComponent, [appRouterProviders]) 
+0

Hast du es ** nur ** in 'bootstrap' oder ** auch ** in' bootstrap' bereitgestellt? Es sollte ** nur ** sein. –

+0

Sie müssen es definitiv nur in 'bootstrap()' bereitstellen. Wenn dies nicht funktioniert, hängt es nicht davon ab, wo Sie 'appRouterProviders' bereitstellen. –

+0

Können Sie in einem Plunker reproduzieren? –

0

Basierend aus den Kommentaren in den oben genannten Antworten Ich habe eine einige Lösungen, die Sie versuchen könnten ...

Zuerst: Ändern Sie in der Datei package.json

"@angular/router": "whatever version you have" 

diese

"@angular/router": "3.0.0-beta.2" 

Auch wenn Sie Package.json Datei sieht nicht so etwas wie der Schnellstart here dann würde ich es zu einem Projekt fertig vorschlagen über, machen die Änderung ich oben erwähnt, und Führen Sie eine npm-Installation für Ihr Projekt aus. Dann versuchen Sie, Ihre App zu starten und zu sehen, was Sie bekommen.