Требование: когда я набираю URL-адрес какой-либо скрытой страницы, страница не должна отображаться в данный момент, сначала должно появиться одно модальное окно для входа в систему, если вход выполнен успешно, скрытая страница должна отображаться на экране. .
Моя идея: использовать разрешение в состоянии, так как я использую ui-router для своего приложения.
Но я не понимаю, как я могу открыть модальное окно при запросе какой-либо страницы и одновременно как я могу предотвратить это.
.state('deviceManagement', {
url: "/deviceManagement",
templateUrl: "partials/settings/deviceManagement.html",
controller: "deviceManagementCtrl",
resolve: {
check: function(engineerPageFactory){
engineerPageFactory.loginEngineer();
}
}
})
Моя идея заключается в том, что я открою модальное окно на фабрике, которую я вызвал из решения.
app.factory('engineerModalFactory', function($modal){
return {
loginEngineer: function($modal){
$modal.open({
templateUrl: "engineerModal.html"
})
}
}
});
Что-то вроде этого. Пожалуйста, направьте меня правильно. Как я могу сделать это возможным. Заранее спасибо!
$rootScope
данные (например, данные пользователя). Контроллер скрытой страницы проверяет, определены ли эти переменные, и, если нет, устанавливает страницу пересылки в $rootScope, направляет на index.html, который также проверяет параметры и, при необходимости, представляет диалог входа в систему и, при успешном входе в систему , маршрут к скрытой странице. Не уверен, что это лучший и самый элегантный подход, но он работает для меня. - person FDavidov   schedule 02.08.2016