Как автоматически перенаправить страницу с маршрута '/' route на main '/ dashboard' после первого входа в angular js?

0

У меня есть страница auth.js, которая решает, к какому маршруту следует обращаться после входа в систему. Я использую ui-router для маршрутизации. Теперь дело в том, что после регистрации пользовательские данные будут захвачены и маршрут соответственно изменится. Если я изменю маршрут с '/dashboard 'to'/'и нажмите enter, затем он сначала показывает страницу входа в систему, затем перенаправляет на панель управления, которую я не хочу. Если я перехожу из'/dashboard 'в'/', тогда он должен автоматически перейти на страницу панели управления, не переходя для входа на страницу. Как мне это достичь?

заранее спасибо

  • 1
    Вы можете иметь ng-init на странице входа в систему, которая проверяет, вошел ли он в систему, и должен перенаправить на панель управления.
  • 0
    @Trying2Learn Trying2Learn Я новичок в angular js и могу ошибаться в этом, но я использую контроллеры для инициализации логических значений в области через ng-show. Логическое значение проверяет и отображает разметку соответственно
Показать ещё 2 комментария
Теги:
angular-ui-router

4 ответа

0

Вы можете решить эту проблему. Когда вы перенаправляетесь на страницу "/". Просто зайдите в раздел разрешения, независимо от того, вошел ли пользователь в систему или нет. Если пользователь вошел в систему, перенаправляйтесь на страницу панели мониторинга.

0
<!--HTML code-->
<div ng-init="CheckIfLoggedIn()">
  <form id="login-form"> 
  ..............
  </form>
</div>

//in angular JS
$scope.CheckIfLoggedIn = function(){
    if (loggedinuser){
        $location.path("/dashboard");
    }
};
  • 0
    Я почти сделал то же самое с логическим значением через контроллер :). Тем не менее, проблема решена, мне пришлось изменить основной файл маршрутизатора, в котором я настраивал маршрут входа и приборной панели. Спасибо :)
0

В вашем auth.js, когда пользователь signIn (обратный вызов после успеха пользователя signIn)

//In SignIn success callback.

$state.go('dashboard');//for state
$location.path("/dashboard");//for url dashboard

Надеюсь, поможет

  • 0
    Если я использую $ location.path, он почти сразу меняет URL, но страница меняется только после разрешения пользователя. Так что для того, что не предназначено, требуется 3-5 секунд :)
  • 0
    Да. Вы можете вызвать $location.path когда пользователь разрешит обратный вызов.
0

то он сначала показывает знак на странице, затем перенаправляет на панель инструментов, которую я не хочу. Если я перехожу из '/dashboard' в '/', тогда он должен автоматически перейти на страницу панели мониторинга, не заходя на страницу входа. Как я могу достичь этого?

Действительно зависит от вашего кода. Я рекомендую иметь login/login поддерживаемый бэкэнд (проверьте учетные данные там и отправьте переадресацию на /login если вы не вошли в систему).

Ещё вопросы

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