0
問題:登錄時,我想將用戶重定向到新頁面。我試圖通過$state
到我的控制器,所以我可以做$state.go()
,但我得到一個錯誤Cannot read property 'go' of undefined
。使用Firebase身份驗證和AngularFire登錄時重定向
我正在使用Firebase的電子郵件和密碼登錄,Angular 1.5.8,ui-router和AngularFire。
廠
app.factory("Auth", ["$firebaseAuth",
function($firebaseAuth) {
return $firebaseAuth();
}
]);
控制器
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;
});
};
}
]);