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

Angular 角度2-通过路由器链路将对象从一个组件发送到另一个组件,angular,angular2-routing,Angular,Angular2 Routing,我试图在angular 2中通过路由器链接发送一个对象。 我为person数组中的每个person对象创建person profile组件,并在屏幕上显示它们 <div *ngFor="#person of people; #i = index"> <person-profile [person]="person"></person-profile> </div> person profile组件显示person对象中包含的多条信息

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

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

person profile组件显示person对象中包含的多条信息。我试图使用路由器链接将整个person对象从person profile组件发送到名为“map”的组件,并将person对象作为参数传递

<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>

…代码。。
地址
{{个人访问地址}
在地图上查看
…代码。。
在我的地图组件中,我检索对象时使用:

var person = <any> routeParams.get('person');
var person=routeParams.get('person');
问题是,无论从哪个
执行路由器链接,我每次在map组件中都会遇到相同的人。它总是人名单上的第一个人。奇怪的是,如果我从person对象传递特定参数,它就会工作。例如,若我传递person.family_name而不是整个person对象,则一切都正常,但我希望发送整个对象。有什么建议吗


谢谢

AFAIK无法传递对象,因为
RouterLink
类的源不表示对此有任何支持,而且数据需要在URL字符串中显示


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

这解释了很多。谢谢,谢谢你的时间!