angular和ui-router启动应用程序,默认(预定义)路由

时间:2015-09-04 09:27:51

标签: angularjs angular-ui-router

我有一个简单的博客应用程序。我为路由定义了一些状态,并且还定义了在每个状态更改事件中它将检查身份验证级别(目前以非常天真的方式)以及是否允许用户进入此状态。

app.run(function($rootScope, $state, UserService){
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
    if (!UserService.getCurrentUser()){
        $state.go('app.login');
    }
});

我的JS入口点包括以下配置:

app.config(function($stateProvider, $urlRouterProvider){

    $stateProvider.state('app', {
        url: '',
        abstract: true
    });
});

我希望在进入我的应用程序时,主要途径将是博客" feed" (当然,当试图到达那里时,它也会触发$ stateChangeStart事件,以便验证身份验证。 我该如何实现呢?

1 个答案:

答案 0 :(得分:2)

您可以使用otherwise方法:

app.config(function($stateProvider, $urlRouterProvider){

    $urlRouterProvider.otherwise('/feed');

    $stateProvider.state('app', {
        url: '',
        abstract: true
    });
});

不要忘记/feed也必须使用$stateProvider.state

定义