Глубокая связь и маршрутизация в Angular 1.x - PullRequest
0 голосов
/ 04 декабря 2018

Как упомянуто в заголовке, я пытаюсь перенаправить ссылку, если пользователь вошел в систему, если нет, он перейдет на страницу входа, а затем перенаправит в случае успеха.

Мне нужно перенаправить на этоссылка на сайт.У него есть некоторые параметры

http://sample.com/?itemid=HFJD867&mode=normal

проблема в том, что когда я пытался посетить URL-адрес, ссылка будет выглядеть следующим образом

http://sample.com/?itemid=HFJD867&mode=normal/#!/login

на этом этапе все в порядке, поскольку страница входа по-прежнему отображается,

, после успешного входа в систему на этом этапе будет

http://sample.com/?itemid=HFJD867&mode=normal/#!/dashboard

, появится страница панели инструментов, и я не смогу просмотреть ссылку.После параметров добавляется состояние.

вот route.config.ts

export default [
"$stateProvider",
"$urlRouterProvider",
($stateProvider, $urlRouterProvider) => {

    $urlRouterProvider.when("/", ["$state", ($state) => {
        $state.go("home");
    }]);

    $stateProvider
        .state("login",{
            url             :   "/login",
            controllerAs    :   "vm",
            controller      :   "loginCtrl",
            templateUrl     :   loginTemplateUrl
        })
        .state("home", {
            url:"",
            controller:"homeCtrl",
            controllerAs:"vm",
            resolve:{
                 "items":["homeService", (homeService) => {
                    return homeService.getItems();
                }]
            }
        })
        .state("dashboard",{
            url             :   "/dashboard",
            controllerAs    :   "vm",
            controller      :   "dashboardCtrl",
            templateUrl     :   dashboardTemplateUrl,
            resolve:{
                allItems:["dashboardService", (dashboardService) => {
                    return dashboardService.getAllItems();
                }]
            }
        })
   }
];

Кажется, проблема в том, поэтому он добавляет '/ dashboard' вконец.Между прочим, когда состояние переходит в «домашний», оно переходит в состояние «приборной панели».

$urlRouterProvider.when("/", ["$state", ($state) => {
        $state.go("home");
    }]);

Как можно предотвратить переход этого состояния в «домашний», когда в URL-адресе есть параметр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...