Этот вопрос является дубликатом следующих существующих вопросов здесь, на SO:
Угловой маршрутизатор: как заменить парам?
В общем случае замените параметр маршрута Angular 2 и выберите
Angular 6 router - заменить некоторые параметры текущего маршрута
Angular2-router: Как изменить только параметр маршрута?
Как изменить определенный внутренний параметр маршрута в Angular2
Ни один из ответов на эти вопросы не решает полностью проблему замены одного сегмента в URL, поэтому я снова задаю этот вопрос.
Подводя итог моей ситуации:
Вот некоторые из маршрутов в моем проекте (я сам не придумал этого, поэтому, пожалуйста, потерпите меня)
/:customer/static/part/of/url
/:customer/other/static/stuff
/something/for/the/:customer
/something/without/anything
/other/stuff/:customer/might/need
Параметр «: customer» появляется в разных местах URL. Моя проблема в том, что этот идентификатор клиента может измениться во внутреннем интерфейсе без каких-либо действий со стороны внешнего интерфейса. Я слушаю изменения в бэкэнде и должен соответствующим образом изменить URL-адрес в случае изменения идентификатора клиента.
Простое string.replace не подойдет, потому что технически идентификатор клиента может фактически и буквально быть «статическим» или «другим».
Вопрос:
Как я могу проанализировать текущий URL-адрес (ActivatedRoute?), Чтобы заменить только одну часть URL-адреса, относящуюся к идентификатору клиента (paramMap имеет "customer"), сохранив остальную часть URL-адреса как есть?