[英]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.