0

:ログイン時に、新しいページにリダイレクトしたいと思います。 $stateを私のコントローラに渡そうとしていますので、$state.go()を実行できますが、エラーはCannot read property 'go' of undefinedになります。Firebase認証とAngularFireによるログイン時のリダイレクト

私は電子メールとパスワード、Angular 1.5.8、ui-routerとAngularFireでFirebaseのログインを使用しています。

app.controller("AuthCtrl", ["$scope", "Auth", "$rootScope", '$state', 
    function($scope, Auth, $firebaseArray, $rootScope, $state) { 
    $scope.auth = Auth; 

    $scope.createUser = function() { 
     $scope.message = null; 
     $scope.error = null; 

     // Create a new user 
     Auth.$createUserWithEmailAndPassword($scope.email, $scope.password, $scope.name) 
     .then(function(firebaseUser) { 
      $scope.message = "User created with uid: " + firebaseUser.uid; 
      const uid = firebaseUser.uid; 
      const dbref = firebase.database().ref().child('users/'+uid); 
      const userInst = {} 
      dbref.update({id:uid, info: {name: $scope.name}}); 
     }).catch(function(error) { 
      $scope.error = error; 
     }); 
    }; 
    $scope.signIn = function(){ 
    Auth.$signInWithEmailAndPassword($scope.email, $scope.password).then(function(firebaseUser){ 
     console.log(firebaseUser.uid); 
     $state.go('dashboard') 
    }) 
    .catch(function(error) { 

     var errorCode = error.code; 
     var errorMessage = error.message; 
    }); 
    } 
    $scope.deleteUser = function() { 
     $scope.message = null; 
     $scope.error = null; 

     $scope.auth.$onAuthStateChanged(function(firebaseUser) { 
     $scope.firebaseUser = firebaseUser; 
    }); 

     // Delete the currently signed-in user 
     Auth.$deleteUser().then(function() { 
     $scope.message = "User deleted"; 
     }).catch(function(error) { 
     $scope.error = error; 
     }); 
    }; 
    } 
]); 

答えて

0

$firebaseArray

工場

app.factory("Auth", ["$firebaseAuth", 
    function($firebaseAuth) { 
    return $firebaseAuth(); 
    } 
]); 

コントローラが不足しています。 コントローラに依存性を挿入する$firebaseArray

app.controller("AuthCtrl", ["$scope", "Auth", "$firebaseArray","$rootScope", '$state', 
    function($scope, Auth, $firebaseArray, $rootScope, $state) { 

    // CODE 

    } 
]); 
関連する問題