2016-04-14 12 views
4

Köşeli bağlantıda yönlendirici bağlantısı üzerinden bir nesne göndermeye çalışıyorum 2. Kişiler dizisi içindeki her kişi için bir kişi profili bileşeni oluşturabilirim. Onları ekranımda.Köşeli 2 - bir bileşenden diğerine yönlendirici bağlantısı üzerinden nesne gönder

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

Kişi profili bileşeni, kişi nesnesinde bulunan çeşitli bilgileri görüntüler. Tüm kişi nesnesini, kullanıcı profili bileşeninden bir yönlendirici bağlantısı kullanarak "map" adlı bir bileşene ve kişiyi nesneyi parametre olarak geçirmeye çalışıyorum. bağımsız olarak, <person-profile> aynı kişiye haritası bileşeninde her zaman olsun ben den yönlendirici-bağlantısını yürütmek olduğunu

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

problem olduğunu: Benim haritası bileşeninde

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

i nesneyi almak . Her zaman insanlar listesinde ilk kişi. Tuhaf olan şey, eğer o kişi nesnesinden belirli parametreleri geçersem çalışır. Mesela, tüm kişi nesnesi yerine person.family_name 'i geçersem, her şey çalışır ama tüm nesneyi göndermek istiyorum. Baska öneri?

Teşekkürler!

cevap

10

AFAIK, RouterLink sınıfının kaynağı bunun için herhangi bir destek göstermediğinden ve verilerin URL dizesinde sunulması gerektiğinden, nesneleri iletmenin bir yolu yoktur.

Benim önerim kimliğini iletmek ve kullanıcıları somut örneği kimliğine göre almayı sağlayan bir hizmette paylaşmaktır.

+0

Bu çok açıklar. Teşekkürler, zaman ayırdığınız için teşekkür ederiz! –

İlgili konular