В продолжение этого вопроса , как рекомендуется для ответа на вопрос,
Я создаю службу, которая сохраняет все необходимые параметры, чтобы вернуться в то же состояние, что и до перехода по конкретному URL.
Как я могу вернуться в то же состояние, когда у меня есть объект, который строится по div id, например, цезий / открытый слой / листовка и т. Д., Без создания нового?
например:
<div id="main-cesium" ></div>
Я сохраняю его зрителя в сервисе, давая ему идентификатор div и некоторые начальные параметры, и когда я перехожу с этой страницы, я не могу вернуться к этому конкретному объекту.
что я могу сделать?
очень короткий пример кода:
//app-routing.module
const routes: Routes = [
{ path: '', redirectTo: 'main', pathMatch: 'full' },
{path: 'main', component: MainPageComponent, pathMatch: 'full'},
{path: 'item', component: Items, pathMatch: 'full'},
];
//MainPage TPL
<div id="main-cesium"></div>
//MainPageComponent
ngAfterViewInit(){
this.mainViewer = this.mainService.getMainCesium("main-cesium")
//check if already exist if yes return this object else build one
}
//MainService
getMainCesiumViewer(mainCesiumId: string) {
if(!this.mainCesiumViewer){
this.mainCesiumViewer = new Cesium.Viewer(mainCesiumId,someConfigObj);
}
return this.mainCesiumViewer;
}
//navigate to item
this.router.navigate([ '/item']);
//mavigate to main
this.router.navigate([ '/main']);