在我的 Angular 应用程序中,当我登录应用程序时,我会获得一个访问令牌,我需要在其他组件(不是父/子关系)的 API 调用中使用它。我尝试使用共享服务,但它不起作用
数据服务:
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class DataService {
private userInfo = new Subject<any>();
currentuserInfo$ = this.userInfo.asObservable();
constructor() { }
updateUserInfo(message: any) {
this.userInfo.next(message)
}
}
在我的登录组件中,我有
this.dataService.updateUserInfo(data.userToken);
其他组件
this.dataService.currentuserInfo$.subscribe((data: any) => {
console.log(data);
});
在这里,我无法获取使用登录组件更新的令牌。
在共享服务中,我尝试了主题和行为主题,但都没有工作。
我确保我只是在 app.module.ts 中提到了这个 DataService 作为提供者。我没有在登录组件或任何其他组件中提到它