これまでにこの問題に関する記事を見ましたが、古いものであるか、自分の設定と非常によく似たソリューションを提供しています。
基本的に私のコントローラには、authCtrl.loginとauthCtrl.registerの2つの機能があります。 Auth。$ createUserWithEmailAndPassword()への呼び出しはうまくいきますが、Auth。$ authWithPassword()へのログインの呼び出しは、「...関数ではありません」というエラーが表示されます。私の人生では、ここで何が間違っているのか理解できません。ここで
は私の設定です:
auth.service.js:
angular.module('angularfireSlackApp')
.factory('Auth', function($firebaseAuth, $firebaseObject){
var auth = $firebaseAuth();
return auth;
});
auth.controller.js:
angular.module('angularfireSlackApp')
.controller('AuthCtrl', function(Auth, $state){
var authCtrl = this;
authCtrl.user = {
email: '',
password: ''
};
authCtrl.login = function() {
// Why is this not a function
Auth.$authWithPassword(authCtrl.user)
.then(function (auth){
$state.go('home');
}, function (error){
authCtrl.error = error;
});
}
authCtrl.register = function() {
Auth.$createUserWithEmailAndPassword(authCtrl.user.email, authCtrl.user.password)
.then(function (user){
authCtrl.login();
}, function (error){
authCtrl.error = error;
});
}
});
私の男! *」 新しい電子メール/パスワードのユーザーを作成します場合は、この機能はのみ、ユーザーを作成することに注意してください : これは私がcreateUserWithEmailAndPasswordに関してでAngularFireの最新バージョンのソースコード中に見つけたものですので、面白いです。 *新しく作成されたユーザーとしてログインしたい場合は、 *このメソッドが解決されたことを約束した後、$ authWithPassword()を呼び出してください。 私は自分自身の機能でそのロジックを使用して、レジスタ内からログイン機能を呼び出すと考えました。いずれにせよ、今は素晴らしい作品です。どうもありがとう。 –