Tôi khá mới với Angular, và ngay bây giờ tôi chỉ cố gắng để có được tất cả các tuyến đường của tôi thiết lập và làm việc như tôi muốn.Chuyển hướng sau khi người dùng đã đăng nhập
Setup:. Khi người dùng điều hướng đến các trang nhất định (/settings
ví dụ này) ứng dụng nên kiểm tra nếu có một người dùng đã đăng nhập Nếu có tiếp tục như bình thường. Nếu không, người dùng nên truy cập trang đăng nhập (/login
).
Những gì tôi muốn: Sau khi người dùng đã đăng nhập thành công họ phải đi đến trang họ ban đầu cố gắng để có được (/settings
)
Câu hỏi của tôi: Có một " Cách góc cạnh "để nhớ nơi người dùng đang cố gắng đến?
đang liên quan:
app.js
.when('/settings', {
templateUrl: '/views/auth/settings.html',
controller: 'SettingsCtrl',
resolve: {
currentUser: function($q, $location, Auth) {
var deferred = $q.defer();
var noUser = function() {
//remember where the user was trying to go
$location.path("/login")
};
Auth.checkLogin(function() {
if (Auth.currentUser()) {
deferred.resolve(Auth.currentUser());
} else {
deferred.reject(noUser());
}
});
return deferred.promise;
}
}
})
login.js
$scope.submit = function() {
if(!$scope.logInForm.$invalid) {
Auth.login($scope.login, $scope.password, $scope.remember_me)
//go to the page the user was trying to get to
}
};
Phần lớn nhờ John Lindquist cho the video đó đã cho tôi điều này đến nay.
Bạn có thể lưu trữ thông tin này trên $ rootScope hoặc trong [service] (http://docs.angularjs.org/guide/dev_guide.services). –