隐藏$ location.path和搜索键

时间:2017-01-23 13:22:39

标签: javascript angularjs routing

我可以隐藏URL中的$ location.path和$ location.search键吗?

现在网址为:url.com/page.html?key=value 我需要以下网址:url.com/value ...

1 个答案:

答案 0 :(得分:0)

我还没有测试过,但我认为这可以解决你的问题。

app.run(['$rootScope', '$location', function ($rootScope, $location) {
    $rootScope.$on("$routeChangeStart", function (event, next, current) {
        if (next && next.$$route) {
            var params = next.params;
            var hasQuery = Object.keys(params).length!==0;

            if (hasQuery) {
                event.preventDefault();
                $rootScope.$evalAsync(function() {
                    $rootScope.routeParams = params;
                    $location.path(next.$$route.originalPath);
                });
            }
        }
    });
}]);

您可以通过每个控制器中的$rootScope.routeParams访问routeParams。