Ответ 1
обновление 2
Теперь исправлено (Angular 2.3) для нового маршрутизатора https://github.com/angular/angular/pull/13124, что позволяет обеспечить пользовательскую стратегию повторного использования.
В качестве примера см. также https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx
Angular docs https://angular.io/api/router/RouteReuseStrategy
update 2 Этот ответ предназначен только для давно прекращенной версии маршрутизатора.
См. https://angular.io/docs/ts/latest/guide/router.html#!#guards для того, как это сделать в текущем маршрутизаторе.
оригинальный
Если ваши компоненты реализуют CanReuse и возвращает true
из
routerCanReuse(next: ComponentInstruction, prev: ComponentInstruction) {
return true;
}
тогда компонент сохраняется и повторно используется вместо уничтожения и воссоздания.
Другой способ - сохранить данные в общей службе и получить их оттуда, когда компонент будет воссоздан.