2016-06-30 4 views
0

Ich bin in Angular2 mit dem neuesten Router-Paket (3.0.0.8?)Angular2 Routing 3.0.0x Fehler für style.css erhalten, sobald Parameter mit

Wenn ich einen Parameter zu einem meiner Routen hinzufügen, die Seite kann nicht mehr alle notwendigen Stil- und App-Dateien finden.

Wenn ich dies:

export const routes: RouterConfig = [ 
    {path: '', component: LandingPageComponent }, 
    { path: 'buyers', component: BuyerFormComponent }, 
    {path: 'links', component: GenerateLinksComponent}, 
    {path: 'cc/:bid', component: SupplierFormComponent} 
]; 

Wenn ich navigieren Sie zu "http://localhost:3000/cc/b4" ich ein paar Fehler erhalten:

GET http://localhost:3000/cc/styles.css
GET http://localhost:3000/cc/app etc

Meine anderen Routen ohne Parameter w ork fein und wenn ich die Parameter aus der Route entfernen:

export const routes: RouterConfig = [ 
    {path: '', component: LandingPageComponent }, 
    { path: 'buyers', component: BuyerFormComponent }, 
    {path: 'links', component: GenerateLinksComponent}, 
    {path: 'cc', component: SupplierFormComponent} 
]; 

und besuchen Sie die Route ohne Parameter (localhost3000/cc), die Seite geladen in Ordnung.

Ich habe die href = "." in meinem index.html als solchem:

<html> 
    <head> 

    <base href="."> 

Irgendwelche Vorschläge? Vielen Dank!

Antwort

0

Der neue Router erfordert

<base href="/"> 

Leere Pfad Routen in der Regel eingestellt terminal: true

{path: '', component: LandingPageComponent, terminal: true }, 

In beta.9 sollte terminal: true wird von

{path: '', component: LandingPageComponent, pathMatch: full }, 

https://github.com/angular/angular/blob/master/modules/@angular/router/src/config.ts#L258

ersetzt werden 210
+0

Das hat es behoben, danke! (anscheinend kann ich die Antwort nicht akzeptieren für 8 Minuten ...) – saka

+0

Ich benutzte, was ich denke, ist der neueste Leitfaden: https://angular.io/docs/ts/latest/guide/router.html#! Base-href und es fordert immer noch "." Gibt es einen aktuelleren Leitfaden und können Sie mich auf die Dokumentation zu "terminal: true" hinweisen? Danke nochmal. – saka

+0

In GitHub-Ausgaben wurde erwähnt, dass dies aktualisiert werden muss. Für 'terminal'check https://angular.io/docs/ts/latest/guide/router.html Ich habe in letzter Zeit eine ausführlichere Erklärung gesehen, aber ich erinnere mich nicht wo. Es sagt im Grunde, dass es nur passen sollte, wenn der gesamte Pfad "'" ist, andernfalls würde es mit dem Präfix "" übereinstimmen, was jede Route wäre. 'terminal' ist jedoch veraltet. Ich werde die Antwort aktualisieren. –