2017-08-25 18 views
0

我想調用AppComponent中的服務來獲取某些數據,然後我想將它發送到另一個時間加載的另一個組件。我如何確保可以在其他組件中捕獲數據?我希望這種設置可以最大限度地減少API調用,因爲我們從apis獲得的相同數據在2-3個位置被重用。將數據從AppComponent傳遞到在另一時間加載的另一個組件

+0

是您的其他組件是第一個還是兄弟姐妹的子組件?你想打電話給一個服務......你是否也創建了一個注射服務? – Carsten

+0

是小孩的孩子 –

回答

0

您想要將數據存儲在全局可注入服務中。在這個服務中你應該定義一個BehaviorSubject。見下文。

@Injectable() 
export class DataService { 

    // Can subscribe to and emit events from a BehaviorSubject 
    // BehaviorSubject can act like an event bus but will also return the last value in the stream upon subscription 
    public userSubject = new BehaviorSubject(null); 

} 
0

您可以在您的服務中使用BehaviorSubject。 當稍後加載的組件注入服務並訂閱BehaviorSubject時,它將立即獲取最後發出的值。

+0

是的,它工作。謝謝 –

相關問題