AngularJS $位置阻止浏览器跟踪超链接

我在angularJS的$location服务时遇到了问题.我用它来从网址中检索’GET’参数.问题是它正在禁用页面上的所有超链接(除非在新选项卡中打开).因此,如果您单击链接,它将更改URL,但页面保持不变.

我该怎么办?

AngularJS v1.2.16

var myApp = angular.module('rtApp', [])
    .config(['$locationProvider', function($locationProvider) {
        $locationProvider
            .html5Mode(true);
    }])
    .service('Product', ['$http','$location',function($http, $location) {
        var url   = '/shop/product_data.php',
            query = $location.search();

        var service = $http.post(url, query).then(function (r) {
            if (r.status === 200) {
                return r.data;
            } else {
                return false;
            }
        });
        return service;
    }]);

最佳答案 看来这是angularJS的$location服务的一个已知问题.

https://github.com/angular/angular.js/issues/4608

所以解决方案是不使用$location,除非你使用路由.

点赞