2017-03-14 4 views
0

Ich vermisse wahrscheinlich etwas offensichtlich, aber ich kann weder :id noch *id funktionieren.Wie parametrisierte Routen funktionieren

Dies ist die Routing-configs Ich verwende:

{ 
    route: 'char/:id', 
    name: 'char', 
    moduleId: 'modules/char/char', 
    href: "char" 
} 

Und dies ist der Code, den ich in char.ts bekam:

export class Char { 
    activate(params: {id: string}) { 
    console.log(params.id); 
    } 
} 

Jetzt i cant Werte scheinen id von der Adresse zuweisen Bar. Was ist die Syntax dafür?

(auch habe ich versucht, die Parameter optional zu machen, mit :id? und immer noch nichts)

+0

Ihre Route ist in Ordnung, was haben Sie, wenn Sie nur console.log (params)? Ist es undefiniert? – maximedubois

+0

@maximedubois Nein, es wird nichts auf irgendeine Weise protokolliert. Wenn ich zu 'http: // localhost: 9000/char' gehe und die Route auf' char /: id? ' setze, werde ich auf die Homepage weitergeleitet. Wenn ich zu 'http: // localhost: 9000/char /' 'gehe, bekomme ich 404. Und wenn ich einen Wert' http: // localhost: 9000/char /? Id = 42 'gebe, bekomme ich einen 404 auf dem 'vendor-bundle.js'-Skript. – Olian04

+0

@maximedubois nvm ... Ich bin neu auf Singlepage-Frameworks, wusste nicht, ich musste ein # vor dem Namen der Route in der URL setzen. Danke any :) – Olian04

Antwort

0

stellte sich heraus, ich es rückwärts von Anfang an ein bisschen hatte.
Dies ist, was funktioniert:

http://localhost:9000/#char/foobar 

dann id-foobar gleich sein würde.

Verwandte Themen