Angular 7 сохранит «идентификатор объекта на основе» из URL после перенаправления - PullRequest
0 голосов
/ 24 февраля 2019

В продолжение этого вопроса , как рекомендуется для ответа на вопрос,
Я создаю службу, которая сохраняет все необходимые параметры, чтобы вернуться в то же состояние, что и до перехода по конкретному 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']);
...