簡體   English   中英

角度傳遞數據到導入的模塊

[英]Angular pass data to an imported module

我有一個關於如何將數據傳遞到應用程序中導入的模塊的問題。

實際上,我已經創建了一個模塊,其中包含我在應用程序中使用的許多組件。

我想給這個模塊兩個數據對象User和Company。

問題是我不想將它們作為每個組件中的輸入傳遞,我覺得這在我的模塊中是多余的,我將不得不在同一個對象的任何地方處理輸入。

我想要的是將這兩個對象傳遞給導入的模塊,並能夠將它們放在共享服務中以在模塊周圍使用它們。

我知道我可以使用forRoot()傳遞配置對象。 但就我而言,我不確定它是為此目的而設計的(傳遞兩個數據對象)。 而且,如果用戶尚未登錄,我認為該對象將為null,以后將不會更新。

謝謝您幫忙。

最好的做法是創建一個包含兩個數據對象的基本服務。 像這樣:

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

@Injectable()
export class TestService {

  user: User;
  company: Company;

  constructor() { }

}

每個需要此數據的組件都必須注入服務並檢索數據。

user: User;
company: Company;

constructor(private testservice: TestService) {}

ngOnInit() {
  this.user = this.testservice.user;
  this.company = this.testservice.company;
}

但是,如果您需要將更新從一個組件推送到另一個組件,則應在服務中使用“主題”,而不是普通對象。 單擊此處了解有關此的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM