Создать переменную, доступную для всех компонентов - PullRequest
0 голосов
/ 27 августа 2018

Я хотел бы создать переменные, которые будут доступны во всех компонентах приложения Angular.

Я создаю сервис, который позволяет пользователю подключаться, я хотел бы получить информацию о пользователе во время подключения и назначить ее в переменных, которые могут быть доступны во всех компонентах.

Что касается console.log (data.val ()), это показывает, что данные хорошо представлены. Я использую Angular 6.

recupInfo(){
 firebase.auth().onAuthStateChanged((user) => {
 if (user) {
   var ref = firebase.database().ref('users/' + user.uid + 
              '/username').on('value',(data) =>
      var username = data.val() ;   
  );
}
});
}

1 Ответ

0 голосов
/ 27 августа 2018

A - Вы можете сохранить его в localStorage и затем получить его, когда вам это нужно,

B - Вы можете сделать публичное свойство сервиса и внедрить тот сервис там, где он вам нужен, чтобы публичная собственность стала доступна компоненту.

C -Также B, но с использованием BehavourSubject, поэтому, если вы подпишетесь на него в своем компоненте, вы будете уведомлены об изменениях.

Я уверен, что есть много других способов достижения этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...