2016-12-09 60 views
0

我是幾天Firebase用戶,我嘗試創建一個普通用戶(作品)的功能,然後添加與他的UID相關的節點作爲數據庫中用戶/存儲有關用戶的詳細信息,如姓,地址等Angularfire中的uid項的對象

function _addUser(user) { 
     var auth = $firebaseAuth(); 

     auth.$createUserWithEmailAndPassword(user.email, user.password) 
     .then(function (firebaseUser) { 
      _createUserNode(firebaseUser, user); 
     }); 
    } 

我認爲我做錯了我的參考。

function _createUserNode(firebaseUser, user) { 
    var ref = firebase.database().ref(FirebaseUrl + "https://stackoverflow.com/users/" + firebaseUser.uid); 
    var users = $firebaseArray(ref); 

    users.$add(user).then(function() { 
    //user added 
    }); 
} 

感謝您的任何建議。

回答

1

AngularFire服務$firebaseArray$firebaseObject可用於將Firebase數據庫中的數據綁定到AngularJS視圖。但是如果你不把它們綁定到HTML上,就不需要使用這些服務。

在代碼中,你只是想創建一個用戶節點,你可以與常規火力地堡的JavaScript SDK做:

function _createUserNode(firebaseUser, user) { 
    var ref = firebase.database().ref(FirebaseUrl + "https://stackoverflow.com/users/" + firebaseUser.uid); 
    ref.set(user).then(function() { 
    //user added 
    }); 
} 

由於AngularFire是建立在火力地堡的JavaScript SDK的頂部,他們良好的互操作性。即使在其他地方將用戶或用戶列表綁定到UI(分別使用$firebaseObject$firebaseArray),它們也會顯示您所做的更改。

+0

這很有趣,因爲我測試了它幾乎也是這樣的,但我放棄了與此錯誤消息: 'Firebase.child失敗:第一個參數是一個無效的路徑:「<我的火力網址> /用戶/ HJjb69auF6NJzpIcw2fgvNdXePZ2」 。路徑必須是非空字符串,不能包含「。」,「#」,「$」,「[」或「]」 – adm

+1

由於錯誤消息表明您的FirebaseUrl變量中包含無效字符。最有可能你正在尋找'firebase.database()。ref(「/ users /」+ firebaseUser.uid)' –

+0

哦謝謝,我知道有些東西搞砸了:) – adm