簡體   English   中英

將數據傳遞到包中的Angular 4組件中

[英]Passing data into Angular 4 component that is in a package

我正在創建Angular 4模塊/組件/服務的NPM軟件包。 該組件需要顯示特定於應用程序的內容,例如用戶名和一個或兩個特定於環境的URL。

我在確定如何將數據從Angular 4應用程序傳遞到這些共享組件時遇到麻煩。 我嘗試在組件內部創建服務並使用Subject,但這沒有用,因為它正在為包組件和app組件創建服務的副本。

所以我的問題是:使用Angular 4甚至可能嗎? 如果是這樣,怎么辦?

在這里回答我自己的問題。 事實證明,可以與您的應用共享一個位於npm打包的Angular 4組件/模塊/服務中的服務。

我正在做的是沒有正確綁定打包的組件變量,即使用異步管道並直接綁定到Subject <string>。 我正在處理訂閱,但工作不正常。

這是打包組件中的html:

<p>Welcome, <b>{{fullName | async}}</b>

然后在組件打字稿文件中:

ngOnInit(): void {
    this.fullName = this.headerSvc.nameSource;
}

headerSvc具有:

public nameSource:Subject<string> = new BehaviorSubject<string>("");

這(應用調用):

setName(name: string) {
  this.nameSource.next(name);
}

希望這可以幫助某人解決這個問題。

暫無
暫無

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

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