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
решение, если кто-то не может найти короткий путь, чтобы сделать то же самое.