2017-07-18 93 views
0

想象一下,我們有一個3步驟的嚮導。角度:從嚮導的不同步驟獲取數據

我想知道是否有任何解決方案來從步驟1和步驟2中填充數據以將其顯示爲步驟3。

每一步是一個不同的組件。我知道Step3必須得到兩個輸入。我的問題是,如何將數據發送到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(); 
    } 
}