我需要在加载组件之前获取数据,所以我正在使用resolver
。但是我需要在解析器中传递input
字段值,然后使用该值访问服务。这是我的代码:
https://stackblitz.com/edit/angular-uhjq3a?file=src%2Fapp%2Ftest.resolver.ts
@Injectable()
export class TestResolver implements Resolve<Observable<string>> {
constructor(private testService: TestService) {}
resolve(): Observable<any> {
// id = 1
return this.testService.getConfiguration(1);
}
}
当前,我正在此函数1
中传递硬编码值getConfiguration(1)
。我希望无论用户在输入字段中输入什么,都需要传递
sclick(e){
e.preventDefault();
console.log(this.sfrm.value.name);
this.router.navigate(['next']);
}
我在这里获取输入字段的值:console.log(this.sfrm.value.name);
服务
getConfiguration(id): Observable<any> {
return this.http.get('https://jsonplaceholder.typicode.com/todos/'+id)
.pipe(
map((response: any) => {
console.log(response);
return response.data;
}),
catchError(this.handleError)
);
}