Угловые 6 параметров маршрута перезагрузить после Location.go - PullRequest
0 голосов
/ 07 сентября 2018

Чтобы избежать перезагрузки любого компонента, я использую Location.go, чтобы изменить URL-адрес из моего первого компонента ( SearchboxComponent ).

Дело в том, что я используюпараметры маршрута во втором Компоненте ( ListingComponent ), чтобы отразить изменения URL в некоторых ссылках, разбиение на страницы и т. д. Но новый URL не обнаружен моей подпиской, и параметры не изменяются.Можно ли заставить модуль маршрутизатора повторно анализировать URL-адрес, чтобы заполнить новые параметры?

ListingComponent

this.route.params.subscribe( async (params: IListingUrlParams) => {
    console.log('params', params);
});

SearchboxComponent

const url = this.parametersService.searchParamsToUrl(params);
// this.router.navigate([url]); This works but reloads my main component
this.listingsService.getList(params); // Fetch the new data before navigation
Location.go(url); // This works but params are not reloaded

1 Ответ

0 голосов
/ 07 сентября 2018

Если вы хотите обновить текущие параметры маршрута.

Позволяет назвать ваш маршрут как:

путь /: идентификатор

Текущий путь: путь / 123

в компоненте:

import { Location } from '@angular/common';

constructor(private location: Location) { }
    updateRoute(){
    let url = this.location.path().replace('123', '456');
      this.location.go(url);
    }

Обновленный путь: путь / 456

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...