将[ui-router否则]指向静态页面

时间:2016-08-23 18:11:11

标签: angularjs angular-ui-router

我的login.html布局与其他网站的布局不同,所以我把它放在我的 app 目录中,我没有它的状态。 但是,如果用户获得404,我想重定向到www.example/login.html

我尝试通过在一个模块中配置ui-router来获取它:

function routeConfig($urlRouterProvider, $windowProvider) {
    var $window = $windowProvider.$get();
    $urlRouterProvider.otherwise(function($injector, $window){
        $window.location.href = '/login.html';
    });
}

但不幸的是我得到了

  

错误:$ window.location未定义

如何重定向到此“静态页面”?

1 个答案:

答案 0 :(得分:1)

您的otherwise是一个回调函数,它本身就是一个闭包,因此您的var $window = $windowProvider.$get() NOT 与回调函数中的参数$window相同,因此未定义。

正确的代码应该是:

function routeConfig($urlRouterProvider, $windowProvider) {
    $urlRouterProvider.otherwise(function($injector){
        var $window = $windowProvider.$get(); // put this line of code inside
        $window.location.href = '/login.html';
    });
}