Angular Получить queryParam из URL, если имя не указано

Как вы получаете информацию о запросе с URL-адреса, как это:

http://localhost:4200/reset?c564e265451e2e24be460f30271678b566d20fa9962000063bb6d079f5e376a0=

Если бы это было http://...reset?token=c56... Я могу получить значение с помощью queryParams делая что-то вроде:

this.route.queryParams.subscribe((params)=>this.token = params['token']);`

но я не могу понять, как получить токен, если у параметра запроса нет имени. Я могу видеть значение в _value при ведении журнала this.route.queryParams на консоль.

1 ответ

Решение

Я разобрался с парой решений:

Первое решение, которое я нашел, показалось немного уродливым:

this.route.queryParams.forEach((value) => this.token = Object.keys(value).shift());

Потом я нашел queryParamMapчто сделало его менее уродливым:

this.route.queryParamMap.subscribe((value) => this.token = value.keys.shift());

Так что я использовал queryParamMap решение, если кто-то не может найти короткий путь, чтобы сделать то же самое.

Другие вопросы по тегам