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

时间:2016-10-18 11:11:16

标签: php mysql angularjs ionic-framework

我正在开发一个项目,我需要在特定页面后更改URL,因为URL中有一些凭据。

我是通过使用location.Replace()方法做到的。它更改了地址栏中的URL并重新加载了页面,但我不希望这样。

例如,在我的网址abc.com/app/XXXX/#/app/inbox中,我想删除替换上的XXXX/

我使用了location.replace(abc.com/app/#/app/inbox)。它取代了url,但也重新加载了页面。我不希望在URL更改时重新加载我的页面。

1 个答案:

答案 0 :(得分:0)

在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);