Angular with querystring

时间:2016-06-06 19:04:32

标签: javascript angularjs

**角度新手警报**

我有一个使用多个查询字符串值调用的网页。

我想用来自查询字符串的值填充几个数据绑定区域。

<span class="username">{{firstName}}{{lastName}}</span>

我正在使用此

解析查询字符串
  var vars = [], hash;
  var q = document.URL.split('?')[1];
  if (q != undefined) {
    q = q.split('&');
    for (var i = 0; i < q.length; i++) {
      hash = q[i].split('=');
      vars.push(hash[1]);
      vars[hash[0]] = hash[1];
    }
  }

  alert(vars['lastName']);

我不确定如何将值实际驱动到数据绑定字段中。

2 个答案:

答案 0 :(得分:1)

使用角色中的$ location provider。

您可以执行var searchObject = $location.search();

然后获取此对象的密钥。与searchObject.lastName

一样

angular.controller( “CTRL”,[ '$位置',函数($位置){   / ** Ctrl代码** /

}]);

答案 1 :(得分:0)

我不得不从几个部分中拿出几个部分和一把锤子来取得一些东西。

话虽如此,代码的放置尤为重要。

大多数代码必须在页面的开头和头部。

完成

$ location的建议很好,但每次我将它放入代码块时似乎都失败了。

这是主要代码块......

  <script>

var dashboardApp = angular.module('dashboardApp', []);
dashboardApp.controller('userNameCtrl', function ($scope) {

  var vars = [], hash;
  var q = document.URL.split('?')[1];
  if (q != undefined) {
    q = q.split('&');
    for (var i = 0; i < q.length; i++) {
      hash = q[i].split('=');
      vars.push(hash[1]);
      vars[hash[0]] = hash[1];
    }
  }

  $scope.firstName = vars['firstName'];
  $scope.lastName = vars['lastName'];
});

<body ng-app="dashboardApp">

<span class="username" ng-controller="userNameCtrl">{{firstName}} {{lastName}}</span>

此代码块失败,没有任何错误消息,但它崩溃了,并吹出剩余的javascript块

    var dashboardApp = angular.module('dashboardApp', []);

dashboardApp.controller('userNameCtrl', function ($scope, $location) {

  alert("First Name is - " + $location.search()['firstName']);

  var vars = [], hash;
  var q = document.URL.split('?')[1];
  if (q != undefined) {
    q = q.split('&');
    for (var i = 0; i < q.length; i++) {
      hash = q[i].split('=');
      vars.push(hash[1]);
      vars[hash[0]] = hash[1];
    }
  }

  $scope.firstName = vars['firstName'];
  $scope.lastName = vars['lastName'];
});