Получить значение токена из component.ts на странице home.ts - PullRequest
0 голосов
/ 03 мая 2020

токен для pu sh уведомление генерируется в app.component.ts. Я хочу прочитать сгенерированную страницу token на home.ts.

Я создал user.service.ts, import на app.component.ts и home.ts

Я добавил значение токена в this.user.token в app.component.ts, как показано ниже

  initializeApp() {
    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();

      //for android push
      this.fcm.getToken().then(token => {
        console.log(token);
      });

      //Add this function to refresh the FCM token.
      this.fcm.onTokenRefresh().subscribe(token => {
        console.log(token);       // i can see value of token in console
        this.user.token = token;  // passing the value of token here
      });

и в home.ts, когда I console.log(this.user.token);, он становится пустым

ngOnInit(){
console.log(this.user.token);  // I cannot see value of token in home.ts
}

Сгенерированный токен, если я console.log из app.component.ts, я могу видеть это, но я не могу довести его до home.ts.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Я надеюсь, что у вашего user.service.ts есть свойство под названием token, введите ваш сервис в ваш app.component.ts конструктор, как показано ниже,

constructor(private userService: UserService){}

в app.component.ts, как вы это сделали

this.fcm.onTokenRefresh().subscribe(token => {
        console.log(token);       // i can see value of token in console
        this.userService.token = token;  // passing the value of token here
      });

Теперь, если вы добавите userService в конструктор в home.ts, вы сможете получить доступ к значению токена как this.userService.token

Иначе

, вы можете передать токен в качестве входных данных для вашего home.component.ts, если это дочерний компонент. Как ниже

<home [tokenValue]="token"></home>
0 голосов
/ 03 мая 2020

Вы не можете напрямую использовать переменную другого компонента. Вам следует сохранить значение в сервисе, а затем получить его в другом компоненте, поскольку вы уже внедрили сервис

 constructor (private authService: AuthService, private router: Router) {
   console.log(this.authService.user.token);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...