繁体   English   中英

更改URL而不刷新AngularJS中的页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM