用户ID未发布到Firebase

User ID not posting to Firebase

本文关键字:Firebase ID 用户      更新时间:2023-09-26

我试图允许登录的用户将带有谷歌ID的标题和描述发布到Firebase,但用户ID在控制台中给出了一个未定义的错误。

只有在发布表单时调用addIdea()函数时才会触发该错误。表单元素只是标题和描述的ng模型。

var app = angular.module("fluttrApp", ["firebase"]);
app.controller("fluttrCtrl", function($scope, $firebase) {
var ref = new Firebase("[forge].firebaseio.com/ideas");
      var auth = new FirebaseSimpleLogin(ref, function(error, user) {
        if (!user) {
            auth.login('google', {
              rememberMe: true
            });
        }
        else {
            console.log(user.displayName);
            console.log(user.uid)
            $scope.displayName = user.displayName;
            $scope.uid = user.uid;
        }
        });
var sync = $firebase(ref);

$scope.ideas = sync.$asArray();

$scope.title = "";
$scope.desc = "";
$scope.addIdea = function(title, desc, uid) {
$scope.displayName = user.displayName;
$scope.uid = user.uid;
$scope.ideas.$add(
    {
        "title": title, 
        "desc": desc,
        "user": uid
    }
    );
//The user id needs to be pulled and we need to post
//the idea id generated here to the user branch
$scope.title = '';
$scope.desc = '';
}
});

对象user未定义,因为它不在$scope.addIdea() function的范围内。

它只存在于FirebaseSimpleLogin调用的回调中。

请参阅以下示例"监视身份验证"以供参考。