我是Angular 2+的新手。有些人在使用http服务获取数据和组件之间使用Resolver。
export class UserResolver implements Resolve<User> {
constructor(
private service: UserService,
private router: Router
) {}
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<User> {
const id = route.paramMap.get('id');
return this.service.getUser(+id)
.catch(err => {
console.error(err); // deal with API error (eg not found)
this.router.navigate(['/']); // could redirect to error page
return Observable.empty<User>();
});
}
问题如下:
- 这有什么实际的好处呢?(我只看到每次调用都要使用冗余的类作为桥梁)
- 这是推荐的方式吗?如果是,是否应该重构现有的代码。