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

时间:2014-05-07 14:39:28

标签: angularjs

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

我该怎么办?

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;
    }]);

1 个答案:

答案 0 :(得分:2)

看来这是angularJS的$location服务的已知问题。

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

因此解决方案是不使用$location,除非您使用路由。