2016-08-24 89 views

回答

0

,我從FirebaseAuth觀察到接收的user對象包含以下屬性:

  • provider
  • uid
  • auth

其中最後 - auth - 是currentUser。如果您查看source,則可以看到auth屬性是Firebase User

可以使用instanceof驗證這一點:

constructor(private auth: FirebaseAuth) { 
    auth.subscribe(
     (user) => { 
      if (user) { 
       console.log('user.auth is a User instance = ' + (currentUser instanceof firebase.User)); 
       let currentUser = user.auth; 
       // ... 
      } else { 
       console.log('no user signed in'); 
      } 
     } 
    ); 
} 
+0

感謝。缺少的是updateProfile方法。但是,我也沒有在auth_backend.ts源文件中看到它。 https://firebase.google.com/docs/auth/web/manage-users#update_a_users_profile – okhobb

+0

我想這就是答案。應該GOOGLE更好。 https://github.com/angular/angularfire2/issues/281 – okhobb

+0

'user.auth'屬性是'User'實例,所以它有'updateProfile'方法。也就是說,你可以調用'user.auth.updateProfile(...)'。如果您正在查看控制檯中的'user.auth',那麼'updateProfile'方法可能並不明顯,因爲它在原型中。 – cartant

相關問題