данные другого ресолвера? но при ресолве мы не можем гарантировать что первый ресолвер уже заресолвился. Я в общем решил для себя эту траблу, очень просто:
                  
                  
                  
                  
                  
                  //в роуте
                  
                  
                  {
                  
                  
                     data: {
                  
                  
                          model1$: new BehaviorSubject(null)
                  
                  
                      },
                  
                  
                      {
                  
                  
                         model1: Model1Resolver,
                  
                  
                         model2: Model2Resolver
                  
                  
                     }
                  
                  
                  }
                  
                  
                  
                  
                  
                  //в методе ресолв первой модели 
                  
                  
                  //Model1Resolver
                  
                  
                  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>|Promise<boolean>|boolean {
                  
                  
                      return this.model1Service.get().do(model1 => route.data.model1$.next(model1)). //пихаем в сабжект нашу модель
                  
                  
                  }
                  
                  
                  
                  
                  
                  //Model2Resolver
                  
                  
                  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>|Promise<boolean>|boolean {
                  
                  
                     return route.data.model1$.filter(model1 => !!model1).take(1).do(model1 => ну и вы поняли тут спокойно получаем данные первой модели и юзаем их как надо для ресолва второй
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  то есть через data атрибут роута шарим данные через заранее созданные сабжекты, меня раньше эта проблема дико мучала и заставляла писать костыли, может кому то поможет идея
                  
                  
                
Сделай сервис - и этот сервис инжекти в оба резолвера - сами данные будут в этом сервисе.
Обсуждают сегодня