我有一个名为user的对象,我想在使用“ a”标记时将其传递给子组件user.component,以创建可路由到该组件的可点击div。
在用户组件中,我具有以下内容。
@Input()
user: user;
当我使用component标签时,它会起作用。
<app-user [user]=user></app-user>
当我尝试将'routerLink'与'a'标签一起使用时,
<a [routerLink]="['/user-dashboard/user', user]">
如何将用户对象作为带有'a'标记的参数传递?
答案 0 :(得分:0)
您可能不想将整个对象作为路线传递。
我认为您要尝试的是路由到某个页面,例如/user-dashboard/user/x
,其中x是用户的ID。
在这种情况下,您需要将用户的id
属性(或称为主键的任何属性)传递给RouterLink,而不是整个对象:
<a [routerLink]="['/user-dashboard/user', user.id]">
如果要将User
对象属性传递给新组件,则有几种选择:
:id
类访问ActivatedRoute
参数),因此您应该能够为此特定用户查询API。JSON.stringify
您的用户对象,并将其作为路由参数传递,例如[routerLink]="['/user-dashboard/user', JSON.stringify(user)]">
。