Angular 在路由解析中,如何将可观察对象作为输出而不是对象

Angular 在路由解析中,如何将可观察对象作为输出而不是对象,angular,angular2-routing,angular-routing,Angular,Angular2 Routing,Angular Routing,resolve:{course:ResolveService}//这将返回一个对象。取而代之的是得到一个可观察的结果。可能吗 export const appRoutes: Routes = [ { path: 'registration', component: SomeComponent, canDeactivate: [SomeGuardService], resolve: {course: ResolveService } // This gi

resolve:{course:ResolveService}
//这将返回一个对象。取而代之的是得到一个可观察的结果。可能吗

export const appRoutes: Routes = [
    { path: 'registration',
      component: SomeComponent,
      canDeactivate: [SomeGuardService],
      resolve: {course: ResolveService } // This gives an object in retrun
     },
//决心

@Injectable()
export class ResolveService implements Resolve<Observable<any>> {

  constructor(private dropDown: DropDownService) { }

  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> {
    return this.dropDown.coursesDt;
  }
}
@Injectable()
导出类ResolveService实现解析{
构造函数(私有下拉列表:下拉服务){}
解析(路由:ActivatedRouteSnapshot,状态:RouterStateSnashot):可观察{
返回this.dropDown.coursesDt;
}
}

ResolveService
中修改
resolve
以返回一个可观察到的可观察到的。resolve函数将等待返回的observable发出,然后将其绑定到route配置中定义的值。为了向路由组件发送一个可观察到的内容,您需要将其包装在另一个可观察到的内容中。像这样:

@Injectable()
导出类ResolveService实现解析{
构造函数(私有下拉列表:下拉服务){}
解析(路由:ActivatedRouteSnapshot,状态:RouterStateSnashot):可观察{
可观察的返回(本下拉列表Coursedt);
}
}

因此在Before
someObject
中,它只是作为一个对象返回到路由,但在Before
中,它被包装在一个可观察的
中。您没有发布您的
ResolveService
,因此我假设resolve方法只是返回一个对象。
Obeservable.of()
doIt生成一个可观察序列,该序列立即发出传递给它的值。
courseDt
的类型是什么?类型是Observable您想返回一个
Observable
?不,我只是尝试返回一个Observable。您能用我的代码更新答案吗?