Rxjs 角度5,主体。下一个(值)不发射

Rxjs 角度5,主体。下一个(值)不发射,rxjs,angular5,Rxjs,Angular5,我在尝试将值传递到主题并从另一个组件订阅它时遇到问题。这是我的代码,它应该将我的值传递给一个可观察的对象 private pdfLink=新主题(); pdfLinkCast=this.pdfLink.asObservable(); getPdfById(id:字符串):无效{ this.httpClient.get(this.apirl+id+'/pdf',this.httpOptions).subscribe((pdf)=>{ //这张照片 console.log(pdf); //不确定这是

我在尝试将值传递到主题并从另一个组件订阅它时遇到问题。这是我的代码,它应该将我的值传递给一个可观察的对象

private pdfLink=新主题();
pdfLinkCast=this.pdfLink.asObservable();
getPdfById(id:字符串):无效{
this.httpClient.get(this.apirl+id+'/pdf',this.httpOptions).subscribe((pdf)=>{
//这张照片
console.log(pdf);
//不确定这是否按预期工作
this.pdfLink.next(pdf.url);
});
}
在我的组件中,我在ngOnInit上订阅它,如下所示:

ngOnInit(){
this.subscription.add(this.someService.pdfLinkCast.subscription((pdf)=>{
//由于某些原因,这些不打印
log('helloworld');
console.log(pdf);
}));
}

您最有可能调用
this.pdfLink.next(pdf.url)
在订阅
pdfLinkCast
之前。您可以尝试使用
ReplaySubject(1)
而不是
Subject
,但请注意这不是一回事。@martin谢谢您的帮助,但恐怕它不起作用。显然,问题在于该服务位于为组件所在的父模块提供服务的子模块中