【发布时间】:2018-11-23 20:11:37
【问题描述】:
这里我有多个用户列表。用户ID就像(1,2,3,4,5 ....),单击按钮显示第一个用户详细信息,然后单击第二个用户详细信息按钮显示第二个用户详细信息这是我想要的功能。
但是当我点击第二个用户详细信息按钮时,网址发生了变化,但仍然没有显示第二个用户详细信息,它显示了第一个用户详细信息。那么如何使用用户 ID 在同一页面上路由。
app-routing.module.ts
{ path: 'details/:userid', component : DetailsComponent}
details.component.html
<button mat-raised-button routerLink="details/{{userObj.userid}}">View<button>
details.component.ts
userObj: User[] = [];
constructor(private userService : UserService,private : ActivatedRoute){}
ngOnInit() {
const userid= +this.route.snapshot.paramMap.get('userid');
this.userService.getUsersDetails({'userid' : userid}).subscribe(
(data) => {
if(data.payload != undefined && data.payload != ''){
this.userObj= data.payload;
}
}
)
}
【问题讨论】:
-
能否提供您的组件的完整代码
-
@mika 我编辑我的代码
-
我认为要获得更新的
userid,您必须订阅route.params,而不是使用route.snapshot。看看我的回答,看看是否有帮助。
标签: angular