我正在尝试使用主题行为 "Property 'subscribe' does not exist on type '(data: any) =>void'" 将字符串消息从一个组件发送到另一个组件
Im trying to send str message from a componant to an other using Subject behavior "Property 'subscribe' does not exist on type '(data: any) =>void'"
我创建了一个服务来将字符串从组件 A 发送到组件 B :
this is the service (FactureService) :
public notificationSubject= new Subject<string>()
constructor() {}
envoyerIdPartnerdeDialogauForm(data){
this.notificationSubject.next(data);
}
这是组件 A :
constructor( private factureservice : FactureService) { }
ngOnInit(): void {}
sendidPartenaire(data){
this.factureservice.envoyerIdPartnerdeDialogauForm(data.value)
Entre id: <input type ='text' #message />
<button (click)="sendidPartenaire(message)">Send message</button>
这是组件 B :
idpartnerstring : string ;
constructor(){ private factureservice: FactureService}
//the problem is here in the subscribe :
//Property 'subscribe' does not exist on type '(data: any) => void'
ngOnInit(): void {
this.factureservice.envoyerIdPartnerdeDialogauForm.subscribe(d => {
this.idpartnerstring=d;
});
}
#我尝试在服务中添加 return 但仍然遇到同样的问题
envoyerIdPartnerdeDialogauForm
是您服务中的一种方法,请订阅 notificationSubject
而不是
ngOnInit(): void {
this.factureservice.notificationSubject.subscribe(d => {
this.idpartnerstring=d;
});
}
在您的组件 B 中,您正在尝试订阅一个名为 envoyerIdPartnerdeDialogauForm
的方法,这当然不会起作用,因为它不应该被订阅。
我建议如下:
在您的服务中,添加以下方法,returns 您可以从您创建的主题中观察到该方法:
notificationSubject$(): Observable<string> {
return this.notificationSubject.asObservable();
}
那么你可以在你的组件B中订阅这个方法:
ngOnInit(): void {
this.factureservice.notificationSubject$().subscribe(value => {
this.idpartnerstring = value;
});
}
我创建了一个服务来将字符串从组件 A 发送到组件 B :
this is the service (FactureService) :
public notificationSubject= new Subject<string>()
constructor() {}
envoyerIdPartnerdeDialogauForm(data){
this.notificationSubject.next(data);
}
这是组件 A :
constructor( private factureservice : FactureService) { }
ngOnInit(): void {}
sendidPartenaire(data){
this.factureservice.envoyerIdPartnerdeDialogauForm(data.value)
Entre id: <input type ='text' #message />
<button (click)="sendidPartenaire(message)">Send message</button>
这是组件 B :
idpartnerstring : string ;
constructor(){ private factureservice: FactureService}
//the problem is here in the subscribe :
//Property 'subscribe' does not exist on type '(data: any) => void'
ngOnInit(): void {
this.factureservice.envoyerIdPartnerdeDialogauForm.subscribe(d => {
this.idpartnerstring=d;
});
}
#我尝试在服务中添加 return 但仍然遇到同样的问题
envoyerIdPartnerdeDialogauForm
是您服务中的一种方法,请订阅 notificationSubject
而不是
ngOnInit(): void {
this.factureservice.notificationSubject.subscribe(d => {
this.idpartnerstring=d;
});
}
在您的组件 B 中,您正在尝试订阅一个名为 envoyerIdPartnerdeDialogauForm
的方法,这当然不会起作用,因为它不应该被订阅。
我建议如下:
在您的服务中,添加以下方法,returns 您可以从您创建的主题中观察到该方法:
notificationSubject$(): Observable<string> {
return this.notificationSubject.asObservable();
}
那么你可以在你的组件B中订阅这个方法:
ngOnInit(): void {
this.factureservice.notificationSubject$().subscribe(value => {
this.idpartnerstring = value;
});
}