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() 函数中。
它应该有效
我有 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() 函数中。
它应该有效