私はこの問題に近づく方法をいくつかアドバイスしています。私は、メインコンポーネントを作成しているあなたのためにこれ可能な限り最高を説明するために:角度2の経路オブジェクトを経由してオブジェクトを渡すことは可能ですか?
@Component({
selector: 'main-component',
providers: [...FORM_PROVIDERS, MainService, MainQuoteComponent],
directives: [...ROUTER_DIRECTIVES, CORE_DIRECTIVES, RouterOutlet, MainQuoteComponent ],
styles: [`
agent {
display: block;
}
`],
pipes: [],
template: `
**Html hidden**
`,
bindings: [MainService],
})
@RouteConfig([
{ path: '/', name: 'Main', component: MainMenuComponent, useAsDefault: true },
{ path: '/passenger', name: 'Passenger', component: PassengerComponent },
])
@Injectable()
export class MainComponent {
bookingNumber: string;
reservation: Reservation;
profile: any;
constructor(params: RouteParams, public mainService: MainService) {
this.bookingNumber = params.get("id");
this.mainService.getReservation(this.bookingNumber).subscribe((reservation) => {
this.reservation = reservation;
});
this.profile = this.mainService.getUserDetails();
}
}
このコンポーネントは、APIから予約を盗ん、あなたが(それは、そのクラスでの予約の種類を持っている参照して、予約オブジェクトに保存しますこのようになります)私はボタンの旅客をクリックすると
export class Reservation {
constructor(
public Id: number,
public BookingNumber: string,
public OutboundDate: Date,
public ReturnDate: Date,
public Route: string,
public ReturnRoute: string,
public Passengers: string,
public Pet: string,
public VehicleType: string,
public PassengersList: Array<Passengers>
) { }
}
、それは乗客のページメイン/助手席にリダイレクトされますが、ここで私は、予約オブジェクト(全1)または単にPassengerList(配列を送信する必要があります)。
ルートパラメータまたはルータのアウトレットでこれを行うことが可能かどうかは知りませんか?助言がありますか?
あなたのクイック返信用のThsnks ..夕方にそれを見るでしょう。 – Mandersen
2時間後、私は最終的にそれを釘付けにしました:)予約は未定義でしたが、reservationオブジェクトをサービス内のオブジェクトにマップするメソッドを呼び出すことによって解決されました。 ありがとうございます。 – Mandersen
子コンポーネントのプロバイダを渡さないと、サービスエラーのプロバイダが取得されない – user2180794