2017-12-24 1 views
0

Einer der Routenparameter in meinem eckigen 4 Projekt hat einen Schrägstrich, also habe ich diese Route url codiert, aber wenn die aktuelle Seite geladen wird, muss ich den Pfad wieder normalisieren, was nicht erlaubt und erhöht "Kann nicht auf Nur-Lesen-propery 'param1' des Objekts zuweisen"Wie kann man Route Params in Winkel 4 zuweisen?

Ex:

this.router.navigateByUrl(encodeURI('route1/' + param1.replace(/\#/g, ':').replace(/\//g, '\u2215')) 

Hier ich versuche param1 zu seinem normalen zu entschlüsseln, indem Sie den folgenden Code in route1 Seite mit:

this.route.params.subscribe(params => { 
params.param1 = decodeURI(params).readme.replace(/\u2215/g, '/'); 
}) 

was ist r den Fehler als "Kann Readonly Property 'Param1' des Objekts nicht zuweisen". Könntest du mich wissen lassen, wie man den tatsächlichen Parameter bekommt?

Antwort

1

Versuchen Sie nicht, params Objekt zuzuweisen (params.param1 muss ein const sein, damit Sie es nicht erneut zuordnen können). Erstellen Sie neue Objekte, um die geänderten Parameter zu verfolgen.

this.route.params.subscribe(params => { 
var param1 = decodeURI(params).readme.replace(/\u2215/g, '/'); 
//use param 1 here 
})