2017-07-03 7 views
1

私は、あなたがテレビ番組(およびそれらの対応するID)の完全な配列から検索する検索ボックスを持っています。角度ルータでデータを送信

landingpage.component.htmlは

<li (click)="selectShow(list.show)" [routerLink]="['/details', list.id]" *ngFor="let list of shows"> </li> 

ユーザーがショーをクリックすると、パラメータとして新しいルートにその番組のIDに渡し、私のresultpage.componentをロードします。 selectShow関数は、選択したショーの名前を記録するだけです。

私の問題:

私は角ルータを経由して、私のresultpage.componentにショー( list.show )値を送信します。私はドキュメントでこれを行う方法に関する情報を見つけることができないようです。

list.showデータを角度ルータを使用してresultpage.componentに渡すにはどうすればよいですか?

+0

異なるコンポーネント間でデータを共有したい場合は、サービスを試してください。どのようにルータを使用してそれを行うかわからないが、はいはサービスを使用して行うことができます。 – Manish

答えて

0

経路にはlist.id以上のものは含まれないため、/detailsリンクにアクセスするとデータを取得する必要があります。

これは通常、あなたの/detailsを訪問する前に、どのようなことがないことは、それはあなたがそのルートのいずれかのリゾルバを登録しているかどうかを確認しているデータ

https://angular.io/api/router/Resolve

ためResolveを作成することによって行われます。

これで、ルータからそのデータを取得できます。

@Component() 
export class DetailComponent implements OnInit { 

    listDetails: Details; 

    constructor(private route: ActivatedRoute) {} 

    ngOnInit() { 
    this.listDetails = this.route.snapshot.data['details']; 
    } 
} 
関連する問題