【发布时间】:2019-03-01 08:40:02
【问题描述】:
这里的要求是我需要在家里显示登录的用户,因为我有一个 logincomponent , homecomponent 和数据传输我使用一个名为 dataService.ts 的服务,对我来说数据即将到来到 dataService.ts 但它没有来到 homecomponent
我的代码
在 loginComponent 中导入数据服务
this.userName 包含登录的用户名
登录组件:
this.ds.sendMessage(this.userName);
数据服务:
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class DataService
{
constructor()
{
}
private apiData = new Subject<Object>();
public apiData$ = this.apiData.asObservable();
sendMessage(message: Object)
{
this.apiData.next(message);
console.log(message);
}
}
家庭成员:
ngOnInit();
{
console.log('in homecomponent');
this.DataService.apiData$
.subscribe(
message =>
{
console.log(message);
}
);
}
有人可以帮忙吗?
【问题讨论】:
-
你包含哪些提供者服务是指模块级别还是组件级别
-
组件级别
-
您是否考虑过使用
BehaviorSubject而不是Subject。 -
是的,首先我使用了behaviourSubject,然后我将其更改为Subject
-
在模块中注入服务,它会解决你的问题
标签: angular