У меня проблема с маршрутизацией к маршруту с параметрами запроса. У меня есть такая функция:
goToLink(link) {
this.router.navigate([`${link.split('?')[0]}`, { queryParams: this.sortParams(link)}]);
}
и эта функция
sortParams(link) {
let queryParams = url.split('?')[1];
let params = queryParams.split('&');
let pair = null;
let data = {};
params.forEach((d) => {
pair = d.split('=');
data[`${pair[0]}`] = pair[1];
});
return data;
}
все в порядке, так что происходитУ меня есть функция с именем goToLink()
, которая принимает URL-адрес, а URL-адрес, который передается, является строкой с параметрами запроса, например так:
https://website.com/page?id=37&username=jimmy
, приведенное выше простопример - это не то, как он на самом деле выглядит, а его строка ссылки с параметрами запроса, так что теперь я удаляю параметры из строки и сохраняю их в объекте данных в функции sortParams()
, поэтому, когда я передаю вышеупомянутую строку вполучить объект, который выглядит следующим образом:
{id: 37, username: 'jimmy'}
, вот что я передаю в раздел queryParams:
в router.navigate,
, функция должнавыглядит так, когда объект возвращается
this.router.navigate([`${link.split('?')[0]}`, { queryParams: {id: 37, username: 'jimmy'}}]);
, поэтому я успешно перенаправляю к нужному маршруту, но параметры запроса выглядят так ..
/page;queryParams=%5Bobject%20Object%5D
AmЯ тут что то не так делаю ??
Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ
Если я просто изменить функцию на эту
this.router.navigate([`${link.split('?')[0]}`, { queryParams: {id: 37, username: 'jimmy'}}]);
Я получу тот же URL /page;queryParams=%5Bobject%20Object%5D