AngularFire を使用する次のコントローラーがあります。
app.controller("authController", function($scope, $firebaseSimpleLogin){
var ref = new Firebase("https://myapp.firebaseIO.com/");
$scope.auth = $firebaseSimpleLogin(ref, function(error, user){
if(error){
console.log(error);
}
else if(user){
console.log(user);
}
else{
console.log("user logged out");
}
});
// This shows a valid object
console.log($scope.auth);
$scope.createAccount = function(){
console.log("found me");
$scope.auth.$createUser($scope.email, $scope.password, function(error, user){
console.log("something");
console.log(user);
if(!error){
console.log(user);
}
else{
console.log(error);
}
});
};
});
$scope.createAccount
関数をイベントにバインドng-click
し、バインドされたボタンをクリックするとconsole.log("found me")
、ブラウザーで実行されますが、他のconsole.log
コマンド$scope.createAccount
は表示されません。
関数を設定する前に使用したconsole.log($scope.auth)
コマンドは、関数が定義され$scope.createAccount
た有効なオブジェクトを示しています。$createUser
実行時にコンソール エラーが表示されない$scope.createAccount
ため、呼び出しが「正常に」行われたと想定しています。
認証オブジェクトを表示できるのに、呼び出し後にコールバックを受信できないのはなぜ$createUser
ですか?