2017-07-18 16 views
0

3ステップのウィザードがあるとします。角度:ウィザードの異なるステップからデータを取得する

Step1とStep2からデータを入力してStep3に表示する方法があるかどうかを知りたいと思います。

各ステップは異なるコンポーネントです。私はStep3が2つの入力を得なければならないことを知っています。私の質問は、Step1とStep2のStep3コンポーネントにデータを送信する方法です。

ご了承ください。

ありがとうございます!

+1

はあなたのさまざまなコンポーネントから共有サービスを使用することができます。 – Ploppy

+0

ええ、これのようなものは私が考えていたものでしたが、存在すれば他の解決策を見たいと思っています!ありがとう – XGuy

+0

私はこれを行うより簡単な方法はないと思います。コンポーネントのやり取りは、共有サービス、入力バインディング(あなたの場合はこれを実装できるとは思えません)、および単純なサービスより実装が難しいViewChildバインディングに要約できます。 – Ploppy

答えて

0

共有サービスを使用すると、これを簡単に実行できます。

上記サービスのプロバイダを正しく設定することを忘れないでください。

wizard.service.ts

import { Injectable } from '@angular/core'; 

@Injectable() 
export class WizardService{ 

    constructor() { } 

    public void setStep1(){ /*do something*/ } 
    public void setStep2(){ /*do something*/ } 
    public void setStep3(){ /*do something*/ } 

} 

step1.component.ts

import { Component } from '@angular/core'; 
import { WizardService} from './wizard.service.ts'; 

@Component({ 
    ... 
}) 

export class Step1Component 

    constructor(private wizardService: WizarService) { } 

    onClick(){ 
    this.wizarService.setStep1(); 
    } 
} 
関連する問題