AngularJS $ location.search()不起作用

时间:2014-10-30 13:33:59

标签: javascript angularjs

这是我第一次尝试在AngularJS中使用$ location服务来检查查询字符串参数。我一直在阅读文档,并尝试在Plunkr中使用它来查看如何使用它,但到目前为止,我没有让它从查询字符串中检索任何参数。

我一直在使用此插件http://plnkr.co/edit/RIFdWa5ay2gmRa6Zw4gm?p=info

进行测试
var app = angular.module('myApp', [])
  .config(function($locationProvider) {
    $locationProvider.html5Mode(true); 
  });

angular.module('myApp').controller('myCtrl', function($scope, $location){
    $scope.name = "Andrei";
    $scope.url = $location.host();
    $scope.path = $location.path();
    $scope._params = $location.search();
  });

我已经读过在$ locationProvider上设置html5Mode(true)是必需的,以便让$ location服务工作为“预期” - 我已经完成了,但是在设置这个时我的插件中没有任何工作了(你可以将它设置为false,你会看到绑定再次正确地进行调整)。

我是否遗漏了有关$ location服务的事情?

感谢任何帮助或建议!

谢谢!

1 个答案:

答案 0 :(得分:2)

在AngualarJS中,HTML5模式下的$location要求存在<base>标记,以便它知道所有链接相对的路径。您可以添加<base href="/" />以使其再次运行。

http://plnkr.co/edit/j9rd1PajNLQVJ8r4c8BZ?p=preview