Javascript angularjs中的多参数查询字符串

Javascript angularjs中的多参数查询字符串,javascript,angularjs,meanjs,Javascript,Angularjs,Meanjs,我试图在MEANJS应用程序中生成一个查询字符串。querystring应该包含可以通过单击更改的多个参数。我在尝试为查询指定不同的参数时遇到了一些问题,以下是我到目前为止所做的工作 <md-list layout="column" layout-align="center" flex="100" ng-cloak> <!-- syllableCount --> <md-list-item> <label flex="20"&g

我试图在MEANJS应用程序中生成一个查询字符串。querystring应该包含可以通过单击更改的多个参数。我在尝试为查询指定不同的参数时遇到了一些问题,以下是我到目前为止所做的工作

    <md-list layout="column" layout-align="center" flex="100" ng-cloak>

  <!-- syllableCount -->
  <md-list-item>
    <label flex="20">Silbenanzahl</label>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableCount=1')">1
      </md-button>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableCount=2')">2
      </md-button>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableCount=3')">3
      </md-button>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableCount=4')">4
      </md-button>
  <md-divider ng-if="!$last"></md-divider>
</md-list-item>
<!-- end -->

  <!-- syllableStructur -->
  <md-list-item>
    <label flex="20">Silbenstruktur</label>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableStructur=einfach')">einfach
      </md-button>
      <md-button type="button" class="btn btn-sm min-width-45"
        ng-click="searchSpec('syllableStructur=komplex')">komplex
      </md-button>
  <md-divider ng-if="!$last"></md-divider>
</md-list-item>
<!-- end -->
现在,它可以正常工作,如果我单击其中一个按钮,正确的查询就会建立起来,输出是(在本例中)音节计数为1、2、3或4或音节结构为einfach(简单)或komplex(复杂)的单词列表

我的目标是,我可以有一个单词列表,比如说音节计数2和一个einfach(easy)的音节结构

我试着这样做:

    $scope.searchCount = function(attr) {
     $scope.count = attr;
    };

    $scope.searchStruct = function(attr) {
     $scope.struct = attr;
    };

$scope.searchSpec = function(attr) {
  var result = $http.get('/api/words/?syllableCount=' + $scope.count + '&' + 'syllableStructur=' + $scope.struct)
  .success(function(result) {
    $scope.searchWords = result;
    console.log($scope.searchWords);
    console.log(attr);
  });
};
这两个新函数在html中通过按钮被调用,我尝试将结果合并为字符串。然而,它没有起作用。如果我像这样硬编码输入它,它不会显示结果(count=2和struct=einfach):
var result=$http.get('/api/words/?音节计数='+2+'&'+'音节结构='+einfach)
它工作正常


这是正确的方法,还是我错了?

在我看来,每次调用
http
时,即每次单击(
searchSpec
函数被调用),您都在重置
$scope.searchwords
对象

什么是
$scope.searchWords
?如果你想继续依靠点击向其中添加数据,你最好制作一个数组并推送到它,即

$scope.searchSpec = function(attr) {
  var result = $http.get('/api/words/?syllableCount=' + $scope.count + '&' + 'syllableStructur=' + $scope.struct)
  .success(function(result) {
    $scope.searchWords.push(result.data);
  });
};
只要确保每次得到结果时不要重新分配$scope.whatever对象

$scope.searchSpec = function(attr) {
  var result = $http.get('/api/words/?syllableCount=' + $scope.count + '&' + 'syllableStructur=' + $scope.struct)
  .success(function(result) {
    $scope[attr].push(result.data);
  });
};

我明白我的错误了。我只是将点击的结果保存到searchWord,然后在上面使用ng repeat,但是因为我没有在这里使用数组,所以它不起作用。谢谢,我将尝试使用一个数组。因此,现在它是一个数组,并且添加了数据,但到目前为止,它将整个数组推送到searchWord[]。如何获得正确的数据?我这样试过:
$scope.searchWords.push({grapheme:result.grapheme})
这是我的ng repeat:
data ng repeat=“word in searchWords
我将其与
一起使用更新:其工作正常,justet需要使用ng repeate与数组数组数组一起使用,如此处所示thx提供帮助真棒:-)希望我能帮上忙
$scope.searchSpec = function(attr) {
  var result = $http.get('/api/words/?syllableCount=' + $scope.count + '&' + 'syllableStructur=' + $scope.struct)
  .success(function(result) {
    $scope[attr].push(result.data);
  });
};