【问题标题】:Create a variable accessible to all components创建一个所有组件都可以访问的变量
【发布时间】:2019-02-02 02:23:47
【问题描述】:

我想创建可在 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() ;   
  );
}
});
}

【问题讨论】:

  • 您的问题/问题到底是什么?
  • 我想在连接时以变量形式检索用户信息。因为用户可以创建用户,所以创建新用户时uid一般会发生变化。
  • 我很难理解你到底在问什么。 “连接的时间”是什么?当你说“所以创建新用户时uid通常会改变”你是在说this problem吗?到目前为止,您还尝试过什么?你到底在哪里失败,有问题?
  • 是的,这是我的问题,这就是为什么我想在连接变量时存储信息,因为它的 uid 更改不会造成任何问题。 My problem.

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


【解决方案1】:

A - 你可以把它保存到localStorage,然后在需要的时候获取,

B - 您可以创建服务的公共属性并将该服务注入到您需要的位置,以便组件可以使用公共属性。

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

我相信还有很多其他方法可以实现这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多