我的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未定义
如何重定向到此“静态页面”?
答案 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';
});
}