目前,我有一个简单的Angular设置,其中包含登录状态和云状态。我想让云状态只能在用户经过身份验证后运行。如果没有经过验证,它将引导他们到登录状态。
到目前为止,我相信我已经设置了“resolve”,并且我已经设置了.run()
函数以在解析失败时重定向到登录状态。
我只是不知道如何使authenticated: authenticated
获得我需要的内容。我知道我必须在某处创建一个authenticated
函数,我只是不知道正确的方法。
我是Angular新手,如果有人有任何建议,我会非常感激。
var routerApp = angular.module('app', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/cloud');
$stateProvider
.state('login', {
url: '/login',
templateUrl: "pages/templates/login.html"
})
.state('cloud', {
url: '/cloud',
templateUrl: "pages/templates/account.html",
resolve: { authenticated: authenticated }
})
})
.run(function ($rootScope, $state, $log) {
$rootScope.$on('$stateChangeError', function () {
$state.go('login');
});
});