2016-03-19 14 views
0

正如話題所說,我該如何在頁面上打印出來? 關於這個的其他主題有很多正在使用SimpleLogin現在已不建議這麼沒多大用的話,爲此另一個線程..AngularFire,如何通過uid在頁面上顯示名稱/電子郵件?

我有一個註冊功能(名稱+電子郵件+密碼)和登錄功能(電子郵件+密碼),當通過身份驗證時,我希望頁面打印「Welcome {{user.name}}」。 我覺得這是一個非常基本的任務,但我無法完成。當authed並重定向到dashboard.html(一些問題與路由在那裏,但這是另一個帖子,提示提示) - 它只打印出uid。

它看起來是這樣的:

app.controller('dashController', ['currentAuth', '$scope', '$firebaseArray', '$firebaseAuth', '$rootScope', 'Auth', '$location', 
    function(currentAuth, $scope, $firebaseArray, $firebaseAuth, $rootScope, Auth, $location){ 
    var ref = new Firebase('https://url.firebaseio.com'); 
    $scope.auth = $firebaseAuth(ref); 
    $scope.user = $firebaseArray(ref); 


    var authData = $scope.auth.$getAuth(); 

    $scope.id = authData.uid; 
}]); 

和HTML:

<span>Welcome {{id}}</span> 

的存儲在/用戶/ UID /名稱+電子郵件+傳遞的所有UID。 謝謝!

回答

2

這沒有任何意義:

$scope.user = $firebaseArray(ref); 

你的數據庫是不是一個數組,所以試圖將其綁定到的範圍作爲數組是沒有幫助的人。

更可能要對特定用戶的配置文件數據綁定到與範圍:

$scope.user = $firebaseObject(ref.child('users').child(authData.uid)); 

然後在您的視圖:

<span>Welcome {{user.name}}</span> 

我建議你遵循AngularFire programming guide從開始到完。這樣做應該例如使$firebaseArray()$firebaseObject()之間的區別更清楚。

+0

編輯出以前的消息。 無論如何,這有幫助!起初有一個錯誤,但這與在數據定義之前嘗試獲取數據一樣簡單。 似乎你擅長Angular + Firebase,如果你想提供幫助,我希望在其他主題中提供一些幫助。 標記爲正確答案! :) – mtorn

相關問題