当我的AngularJS ui-router应用程序启动时,如何确定是否已指定路由

时间:2016-04-17 05:36:15

标签: angularjs angular-ui-router

我有一个使用angular-ur-router的AngularJS SPA应用程序。当应用程序正常启动时,用户输入:

(a) www.example.com 

然后自动调用index.html页面。在这个时候,我想这里的应用程序转到home状态,但我不确定如何检测条件(a)。

当用户输入:

(b) www.example.com/access
(b) www.example.com/example
(b) www.example.com/something/else 

然后找到路线并进入正确的状态

如何在应用程序启动时检查输入的路由是(a)还是类似(b),如果(a)然后重定向到home状态

我已经知道我可以使用:$state.go('home');更改为我想要的状态,但我不知道如何检测启动时是否指定了路由。

1 个答案:

答案 0 :(得分:1)

您可以使用

进行测试

<击>

<击>
$state.is("home.access");

<击>

您需要修改状态配置:

myApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {

    // If no state is provided on page load, take me to /access or other state
    $urlRouterProvider
        .otherwise('/access');

    // other state config

    $stateProvider.state("home", {
        url: '/'   // this will be treated as the state when you page load at www.example.com
        // add other properties
    })

    $stateProvider.state("home.access", {
        url: "/access"
        // just an example
    })
}]);