浏览器页面刷新后,Angular js不会路由到默认页面

时间:2016-04-06 08:09:16

标签: javascript angularjs ngroute

我有angularjs路线,其定义如下:

moduleA.config(function($routeProvider){
    $routeProvider.
    when('/A',{templateUrl:'A.jsp'}).
    when('/B',{templateUrl:'B.jsp'}).
    when('/C',{templateUrl:'C.jsp'}).
    otherwise({
        redirectTo: '/',
        templateUrl: 'A.jsp'
    });
});

现在,让我说点击某些内容然后重定向到#/ C / view。刷新页面后,它将重定向到视图C而不是默认视图。 我必须在每次刷新页面后显示默认页面。 我想在刷新页面时将URL更改为基本URL,以便可以将其重定向到默认页面。我正在通过Angularjs的方式寻找更好的替代方案。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

试试这个: 在app.run()块中注入'window'和$ location依赖并添加:

window.onbeforeunload = function () {
   $location.path('/');
};

与@maurycy一样评论说,如果您希望用户在进入您的应用程序的任何时间进入默认页面,您就不需要该事件。

只是:

$rootScope.$on('$routeChangeStart', function (event, next, current) {
            if (!current) {
                $location.path('/');
            }
        });
在app.run()函数中。

应该有效

相关问题