Ответ 1
Если вы посмотрите на объявление класса Router, вы можете найти следующее:
Перейдите на основе предоставленного массива команд и отправной точки. Если начальный маршрут не указан, навигация является абсолютной.
Также он возвращает обещание со значением, если навигация прошла успешно или нет.
navigate (команды: any [], дополнительные функции: NavigationExtras): Promise;
команды - массив команд для маршрутизатора, куда следует перемещаться;
extras - необязательный параметр, в котором вы указываете дополнительные свойства, такие как параметры запроса
Если вы изучите класс NavigationExtras, вы обнаружите, что не только вы можете указать параметры запроса для маршрутизатора, но и установить сохранение предыдущих параметров запроса и т.д.
Я использовал метод навигации следующим образом:
this.router.navigate([], {
queryParams: objectWithProperties,
relativeTo: this.activeRoute
});
где пустой массив означает, что местоположение не изменяется, а в дополнительных параметрах я определяю параметры запроса, используя объект со свойствами.
Angular разрешает этот объект примерно так:
siteBasePath/routerDirectory? PropertyName = PropertyValue
Вот более полезная информация и примеры, которые я нашел очень полезными: http://vsavkin.tumblr.com/post/145672529346/angular-router
Я надеюсь, что кто-то найдет это полезным.