2016-11-03 14 views
1

私はFirebaseのコースに従っていますが、多くのことがすぐに変更されていることをすぐに発見しました。 https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-users-and-authentication-createusercredentials これらのドキュメントは完全に古くなっています。

ここで私はその後、私は

this.register = function() { 
    auth.$createUserWithEmailAndPassword({ 
    email: this.user.email, 
    password: this.user.password 
    }).then(function(regUser) { 
    $log.log(regUser); 
    }).catch(function(error) { 
    $log.log(error); 
    }); 
}; 

この関数を呼び出そう。しかし、それは、このエラーがスローされます私のfirebase変数

var ref = firebase.database().ref(); 
var firebasedata = $firebaseObject(ref); 
var auth = $firebaseAuth(); 

を宣言:

code : "auth/argument-error" message : "createUserWithEmailAndPassword failed: First argument "email" must be a valid string."

私はへの回答で検索しましたこの問題は、私が見つけることができるすべて私のangularfireまたはfirebaseを更新しています(どちらも最新バージョン)、またはthis.user.emailが文字列ではないことを示します。私がするとき

console.log(this.user.email); 

私はそれが有効な電子メールを含む文字列であることがわかります。

正しい方向への助けを歓迎します!この問題が発生して誰のための

答えて

1

古い

auth.$createUser()

関数は、パラメータとして、ユーザーオブジェクトを取りました。一方

auth.$createUserWithEmailAndPassword()

パラメータはなく、対象となる2列をとります。次のように

0

変更機能パラメータ:

this.register = function() { 
    auth.$createUserWithEmailAndPassword(this.user.email,this.user.password).then(function(regUser) { 
    $log.log(regUser); 
    }).catch(function(error) { 
    $log.log(error); 
    }); 
}; 
0
$scope.register = function() { 
    firebase.auth().createUserWithEmailAndPassword($scope.email, $scope.password) 
     .then(function(user) { 
      console.log(user); 
     }) 
     .catch(function(error) { 
      console.log(error); 
     }); 

    //} 
} 

をここに、あなたはそれをこの方法を使用することができます。

1

auth.createUserWithEmailAndPassword(user.email, user.password); 

​​3210

から、あなたのコードを変更し

関連する問題