Digamos que tenemos el siguiente caso de uso:
router.navigate o router.navigateByUrl"Value one, comma separated"param1=one,two ¿Hay alguna manera de codificar bien la coma de un solo valor, pero manteniendo las comas que separan los múltiples valores? Entonces, el objetivo sería navegar a algo como: param1=value1%2Ccomma%20separated,value2
Llamando a esto:
this.router .navigate([], { relativeTo: this.route, queryParams: { partner: 'Partner one, comma separated' }, replaceUrl: true, }) realiza la navegación a la siguiente URL: blah.com?partner=Partner%20one,%20comma%20separated
Y llamando a esto:
this.router .navigate([], { relativeTo: this.route, queryParams: { partner: 'Partner one%2C comma separated,Partner two' }, replaceUrl: true, }) realiza la navegación a la siguiente URL: blah.com?partner=Partner%20one%252C%20comma%20separated,Partner%20two
Mi objetivo es navegar a algo como esto: <current URL>?partner=Partner%20one%2C%20comma%20separated,Partner%20two (sin %25 de codificación doble)
por lo tanto, hay una manera para que nuestro backend sepa qué coma está separando los valores y cuál es parte de un solo valor.
También esto:
this.router.navigateByUrl(`/my-page?partner=Partner%20one%2Ccomma%20separated`); navega a blah.com/my-page?partner=Partner%20one,comma%20separated (la coma se decodificó ).
Probé una combinación de decodeURI, encodeURIComponent etc. antes de pasarlo a router.navigate o router.navigateByUrl , pero nada parece funcionar.