Итак, я реализовал резольвер в угловых 5:
@Injectable()
export class AppResolver implements Resolve<MyComplexObject []> {
constructor(private myService: MyService) {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<MyComplexObject[]> {
return this.myService.getMyApi(myOption); // my option is a string
}
}
прямо сейчас myOption - это жестко закодированная строка, и я хочу изменить это
в моем модуле маршрутизации у меня есть:
resolve: {
myResolver: AppResolver
}
Полагаю, возможно, здесь мне следует указать значение строки myOption, но как?
или еще лучше, где я на самом деле называю распознаватель
this.route.data.map(data => data.myResolver).subscribe(
result => {
// do something with the result (specify who the myOption is?? How)
});
параметр не обязательно отображается в браузере:
это будет часть URL: /.../.../myString/..
но он не представлен параметром: url: /..&myParam=paramValue
поэтому я не могу использовать myParam, чтобы идентифицировать его по URL и заменить его