Параметры маршрута декодирования Angular4+

У меня есть такой URL в моем приложении:

http://example.com/page/payments;offerId=5

После изучения страницы (переход туда и обратно, перезагрузка страницы) иногда этот URL-адрес кодируется как

http://example.com/page/payments;offerId%3D5

и ломает мою страницу, потому что я использую route.snapshot.params... где-то в коде. После повторных загрузок все становится еще сложнее (при этом приложение все еще ломается):

http://example.com/page/payments;offerId%25253D5%253D%3D=. 

Иногда такой ситуации не происходит, иногда она исправляется сама собой, но чаще всего она остается такой, как описано, и разрывает страницу.

Я мог бы написать собственный синтаксический анализатор, который очищает и декодирует параметры URL-адреса в правильный объект, или попытаться получить значения параметров непосредственно из URL-адреса, отсекая мусор, но это было бы не очень практично и потребовало бы много догадок.

Существуют ли какие-либо методы или обходные пути для решения этой проблемы?

РЕДАКТИРОВАТЬ: я только что нашел это, и я попытаюсь реализовать его, все еще ища лучшая альтернатива.


person Mike    schedule 08.01.2018    source источник