[英]Change URL without Refreshing the page in AngularJS
我正在一个项目中,由于URL中包含一些凭据,因此我需要在特定页面后更改URL。
我通过使用location.Replace()
方法做到了这一点。 它更改了地址栏中的URL并重新加载了页面,但是我不想要那样。
例如,在我的URL abc.com/app/XXXX/#/app/inbox
我要在替换中删除XXXX/
。
我使用location.replace(abc.com/app/#/app/inbox)
。 它替换了URL,但也重新加载了页面。 我不希望在URL更改时重新加载我的页面。
在您的app.js文件中添加以下代码。 它在$location.path()
添加了一个额外的参数。
app.run(['$route', '$rootScope', '$location', function ($route, $rootScope, $location) {
var original = $location.path;
$location.path = function (path, reload) {
if (reload === false) {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
}
return original.apply($location, [path]);
};
}]);
然后在您的控制器中调用$location.path()
作为
$location.path('/users/' +$scope.userid, false);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.