通过存储服务

时间:2017-12-13 13:29:02

标签: angular

我正在尝试将对象从一个组件传递到另一个组件。基本上试图将令牌和其他信息作为对象传递。 所以当我登录时,我会得到一些这种格式的信息,我将它存储在这样的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。

0 个答案:

没有答案