我有一个UserComponent,我想让它显示一个基于userId查询字符串的用户,如下所示:localhost:3000 / users?userId = 1
否则,如果网址没有userId qs param,我只想显示所有用户:localhost:3000 / users
在下面的代码中,即使没有qs参数,代码的第一部分仍然会运行:
ngOnInit(): void {
// subscribe to router event
this.subscription = this.activatedRoute.queryParams.subscribe(
(param: any) => {
let userId = param['userId'];
//console.log(userId);
this.getUser(userId);
});
this.getUsers();
}
代码的第一部分最终使用未定义的userId为getUser调用其余的svc:http://localhost:4000/users/undefined
我如何重新构建此代码以适应这种情况?
答案 0 :(得分:0)
我相信,您需要检查是否有' userId'在您的订阅回调部分
this.subscription = this.activatedRoute.queryParams.subscribe(
(param: any) => {
let userId = param['userId'];
//console.log(userId);
userId ? this.getUser(userId) : this.getUsers();
});