创建一个可访问所有组件的变量

时间:2018-08-27 14:06:03

标签: angular typescript firebase firebase-realtime-database components

我想创建在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 :(得分:1)

A-您可以将其保存到localStorage,然后在需要时获取它,

B-您可以将服务设为公共属性,并将该服务注入所需的位置,这样公共属性就可以用于组件。

C-与B相同,但使用BehavourSubject,因此,如果在组件中订阅它,则将收到有关更改的通知。

我确信还有很多其他方法可以实现这一目标。