我正在尝试登录数据服务后保存访问令牌。
登录后,我在accessToken
文件中设置了auth.service.ts
,并尝试在另一个文件中访问此值。
data.service.ts
_accessToken: string;
getAccessToken(){
return this._accessToken;
}
setAccessToken(accessToken: string) {
this._accessToken = accessToken;
}
auth.service.ts
setSession(authResult) {
this.dataService.setAccessToken(authResult);
console.log(this.dataService.getAccessToken());
}
当我在this.dataService.getAccessToken()
中打印auth.service
时,我得到了正确的访问令牌。
现在,我尝试在其他组件中访问它,得到undefined
。
order.component.ts
ngOnInit() {
console.log(this.dataService.getAccessToken());
}
以上结果为undefined
。
我不确定为什么会这样。
答案 0 :(得分:1)
您的服务装饰者必须具有countdown(2):
print(2)
countdown(1)
print(1)
-> next recursion step
print(2)
print(1)
countdown(0)
print(0)
print(1)
-> next recursion step
print(2)
print(1)
print(0)
print(-1)
print(0)
print(1)
才能访问。
providedIn: 'root'
注意:〜当您在根级别提供服务时,Angular会创建一个共享的服务实例,并将其注入任何需要它的类中。在@Injectable()元数据中注册提供程序还允许Angular通过从未编译的应用程序中删除服务来优化应用程序。