我正在尝试将对象从一个组件传递到另一个组件。基本上试图将令牌和其他信息作为对象传递。 所以当我登录时,我会得到一些这种格式的信息,我将它存储在这样的const中。
login() {
const token = {
access_token: '832u3eui34334ui348348348u348u348u3483487348iu34yu7e3u32uie3u',
userEmail: 'xyz@gmail.com'
};
this.storageService.setToken(token);
}
// storage.service
import { Injectable } from '@angular/core';
import { Observable } from "rxjs";
import { Subject } from "rxjs/Subject";
@Injectable()
export class StorageService {
private subject = new Subject<any>();
setToken(token: object) {
console.log(token);
this.subject.next(token);
}
clearToken() {
this.subject.next();
}
getToken(): Observable<any> {
return this.subject.asObservable();
}
}
然后在另一个组件构造函数中,我正在尝试这样做。
import { Subscription } from 'rxjs/Subscription';
subscription: Subscription;
someInfo;
this.subscription = this.storageService
.getToken()
.subscribe(data => {
this.someInfo = data;
console.log(this.someInfo);
});
但目前它正在给我null。