我想用routerLink传递一个对象。我找到了很多,但没有得到满意的答案。我对角质很陌生。
user.component.html
<button type="button" routerLink="/admin">Add Event</button>user.component.ts
export class UserComponent implements OnInit {
@Input()
public user: UserOperator = new UserOperator({});我想把上面的用户对象传递给有按钮的routerLink。
app.module.ts
const appRoutes: Routes = [
{ path: 'admin', component: AdminComponent },
]我的工作角度7。任何帮助将不胜感激。
发布于 2019-05-24 09:48:42
您可以将对象编码到字符串中,并通过查询参数传递它。
component.html
<button type="button" [routerLink]="[getLink()]">Add Event</button>component.ts
...
getLink(): string {
return `/admin?state=${btoa(JSON.stringify(this.user))}`;
}
...another.component.ts
constructor(private route: ActivatedRoute) {}
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
let user = new UserOperator(JSON.parse(atob(params['state'])));
});
}https://stackoverflow.com/questions/56289773
复制相似问题