是否可以使用ui-router设置初始状态和其他状态?

时间:2015-10-13 14:28:46

标签: angularjs angular-ui-router

我在第一次使用简单条件进入应用程序时设置初始状态(我完全知道它也会阻止深层链接..没关系。)

.run(function($state, browserFactory) {

    if (browserFactory.isSupported()) { 
        $state.go('browser-unsupported');
    } else { 
        $state.go('welcome');
    }
}

这很好。

但是,如果我设置otherwise规则,它将始终遵循该规则。例如,如果我设置

.config(function($urlRouterProvider) {
    $urlRouterProvider.otherwise('/welcome');
}

它总是会以/welcome结束。

是否有任何解决方法或根据条件设置初始路线的更好方法otherwise规则?

1 个答案:

答案 0 :(得分:0)

我能想到的唯一解决方案是在主控制器中执行此逻辑,因此即使您被重定向到欢迎,它也会在传递if语句后更改为所需的路由。

基本上你不应该在app.run中添加很多代码。