как перенаправить страницу из контроллера в соответствии с условием в angularjs?

0

Я работаю для аутентификации для каждого запроса http и URL-адресов. Поэтому я реализовал мир кодов для изменения аутентификации URL-адресов в качестве сильфонов

/** login-controller.js file **/

//when the form is submitted
$scope.submit = function() {
    console.log("enter login submit");
    $scope.submitted = true;
    if (!$scope.loginForm.$invalid) {
        $scope.login($scope.credentials);
    } else {
        $scope.error = true;
        $scope.error_des = '';
        return;
    }
};

// if a session exists for current user (page was refreshed)
// log him in again
if ($window.sessionStorage["userInfo"]) {
        var credentials = JSON.parse($window.sessionStorage["userInfo"]);
        $scope.login(credentials);
};

//Performs the login function, by sending a request to the server with the Auth service
$scope.login = function(credentials) {

    $scope.error = false;
    Auth.login(credentials, function(user) {
        //success function
        $mdDialog.hide();
        $state.go("admin-panel.default.home");
    }, function(err) {
        console.log("error");
        $scope.error_des = err.msg;
        $scope.error = true;
    });
};

Все работает так, как я ожидал, но, переписывая одну и ту же страницу, он всегда перенаправляется на домашнюю страницу (http://localhost: 3000/#/home). I знаю, что это происходит из-за

$state.go("admin-panel.default.home");

проблема в том, что я хочу перенаправить страницу в соответствии со способом входа в систему, если вход в систему через представленную форму будет перенаправлен на $ state.go("admin-panel.default.home"); Кроме того, если для текущего пользователя существует пользовательский логин через сеанс, который будет перенаправлен на $ state.go("admin-panel.default." + $ Current_page);

как его достичь? пожалуйста помогите????

Теги:
angular-ui-router
angularjs-scope
angularjs-directive

1 ответ

0
If form submit : var formsubmitted = true;
if login via session : formsubmitted = false
 and while routing you can check condition 
if(formsubmitted == true)
   $state.go("admin-panel.default.home");
else
$state.go("admin-panel.default."+$current_page);
//to get current page path  you can use $location.path();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню