【发布时间】:2020-04-06 15:17:54
【问题描述】:
我在 Angular 中创建解析器时遇到问题。当我开始申请时,我给出了一个 未捕获的错误:无法解析 MemberListResolver 的所有参数:(?)。错误。 有人可以帮我吗?
我的解析器类:
Injectable({providedIn: 'root'})
export class MemberListResolver implements Resolve<User[]> {
constructor(private userService: UserService){}
resolve() {
return this.userService.getUsers();
}
}
我在路由器中注册了
{ path: 'members', component: MemberlistComponent,
resolve: { users: MemberListResolver }
},
在 app.module.ts 中:
providers: [ MemberListResolver ]
然后我调用组件:
export class MemberlistComponent implements OnInit {
constructor(private userService: UserService,
private alertify: AlertifyService,
private route: ActivatedRoute
) {
}
users: User[];
ngOnInit() {
this.route.data.subscribe(data => {
this.users = data['users'];
});
}
}
【问题讨论】:
-
今后,请不要将常规文本放入代码样式中。将其向下移动 4 个空格。
-
您能说明您是如何注册
UserService以进行依赖注入的吗?是与@Injectable合作还是作为提供者? -
@Injectable({ providedIn: 'root' }) 导出类 UserService { baseUrl = environment.apiUrl;用户:用户;构造函数(私有 http:HttpClient){}getUsers():Observable
{return this.http.get (this.baseUrl + 'users'); } getUser(id): Observable { return this.http.get (this.baseUrl + 'users/' + id); } } 在 app.module.ts 提供者中:[UserService]
标签: angular