Как упомянуто в заголовке, я пытаюсь перенаправить ссылку, если пользователь вошел в систему, если нет, он перейдет на страницу входа, а затем перенаправит в случае успеха.
Мне нужно перенаправить на этоссылка на сайт.У него есть некоторые параметры
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-адресе есть параметр.