Angular 浏览器页面刷新后 js 没有路由到默认页面

Angular js not routing to default page after browser page refresh

我有 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/视图。刷新页面后,它重定向到视图 C 而不是默认视图。 每次页面刷新后,我都必须显示默认页面。 我想在刷新页面时将 url 更改为基础 url ,以便可以将其重定向到默认页面。我正在通过 Angularjs 方式为此寻找更好的替代方案。 提前致谢。

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

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

就像@maurycy 评论的那样,如果您希望用户在访问您的应用程序时随时转到默认页面,则不需要该事件。

只是:

$rootScope.$on('$routeChangeStart', function (event, next, current) {
            if (!current) {
                $location.path('/');
            }
        });

在您的 app.run() 函数中。

它应该有效