gpt4 book ai didi

Angular 2 - 通过路由器链接将对象从一个组件发送到另一个组件

转载 作者:太空狗 更新时间:2023-10-29 17:31:50 25 4
gpt4 key购买 nike

我试图以 Angular 2 通过路由器链接发送对象。我为 person 数组 people 中的每个 person 对象创建一个 person-profile 组件,并将它们显示在我的屏幕上。

<div *ngFor="#person of people; #i = index">
<person-profile [person]="person"></person-profile>
</div>

人员资料组件显示人员对象中包含的几条信息。我正在尝试使用路由器链接将整个人员对象从人员配置文件组件发送到名为“ map ”的组件,并将人员对象作为参数传递。

<person-profile>
..code..
<tr>
<td class="category">Address</td>
<td>{{ person.visiting_address }}</td>
<td *ngIf="person.visiting_address"><a [routerLink]="['Map',{person:person}]">View on map</a></td>
</tr>
..code..
<person-profile>

在我的 map 组件中,我通过以下方式检索对象:

var person = <any> routeParams.get('person');

问题是无论是哪个 <person-profile>,我每次都在 map 组件中找到同一个人我从中执行路由器链接。它始终是人员列表中的第一个人。奇怪的是,如果我从 person 对象传递特定参数,它就会起作用。例如,如果我传递 person.family_name 而不是整个人对象,一切正常,但我想发送整个对象。有什么建议吗?

谢谢!

最佳答案

据我所知,没有办法传递对象,因为 RouterLink 类的源代码没有表明对此有任何支持,而且数据需要在 URL 字符串中显示。

我的建议是传递一个 ID 并在允许通过 ID 获取具体实例的服务中共享用户。

关于Angular 2 - 通过路由器链接将对象从一个组件发送到另一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36618448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com