2017-02-19 56 views
0

我很困惑,爲什麼試圖輸出,當我註冊了一個帳戶,並CONSOLE.LOG它顯示我的輸入顯示名返回爲NULL但顯示名稱是什麼時候?火力地堡顯示名返回爲NULL

我添加了一個新的領域:

<input class="mdl-textfield__input" style="display:inline;width:auto;" type="text" id="displayName" name="displayName" placeholder="displayName"/> 

裏面的firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {功能我做了對的console.log和displayName它輸出的時田那裏提交併創建了數據庫用戶,但輸出的時候displayName是回報爲NULL

firebase.auth().onAuthStateChanged(function(user) { 
     // [START_EXCLUDE silent] 
     document.getElementById('quickstart-verify-email').disabled = true; 
     // [END_EXCLUDE] 
     if (user) { 
      // User is signed in. 
      var displayName = user.displayName; 

我只是做對用戶的詳細信息,像這樣一個簡單的文本輸出:

document.getElementById('quickstart-account-details').textContent = JSON.stringify(user, null, ' '); 
+0

您是否通過firebase.auth()設置了displayName。updateProfile({displayName:'John Doe'});如果沒有設置顯示名稱,那麼您將始終獲得空顯示名稱。 – bojeil

回答

0

這可能是因爲你正在執行

document.getElementById('quickstart-account-details').textContent = JSON.stringify(user, null, ' ');

填充user之前。

如果是這樣,嘗試執行if (user) {}塊內的上述代碼。

+0

這就是它目前所在的位置 – PhpDude

+0

您可以驗證塊是否正在執行? (即添加一個控制檯日誌'if(用戶){...}' –

+0

它沒有控制檯註銷是的,我可以像用戶[「uid」]訪問uid,它給了我登錄的用戶uid - 但如果我嘗試去displayName它回來作爲NULL – PhpDude