angular js仅显示最后的数据

时间:2017-11-09 14:16:51

标签: javascript angularjs for-loop

我有两个表,客户和列表,列出了外键,并且必须显示客户拥有的列表。列表很多,客户只有一个。在mysql中有一对多。

$scope.getCustomer = function (id) {

      $http.get("/customers/getone/" + id)

      .then(function successCallback (response, data, status, headers, config) {

          $('#edit').modal('show');

          $scope.nameC = response.data[0].nameC;
          $scope.id=id;
          //$scope.clearForm()

          for (i = 0; i < response.data.length; i++) {

            $scope.nameL = response.data[i].nameL;
            //alert($scope.nameL);

        }



       },

  function errorCallback(error, data, status, haders, config) {
      console.log('Error getting: ' + data);

   });
}

我有警告所有列表,但在html中我只有最后一个列表。我有一个ng-repeat来显示所有客户。我想要一个ng-repeat或ng-bind来向所选客户显示一个客户和所有列表

<label>Name Kunde</label>
                 <td>
                 <span ng-bind="nameC"></span>
              </td>
              <br>
              <label>Name Liste</label>
              <td>
              <span ng-bind="nameL"></span>
           </td>



           <table class="table table-bordered">  
            <tr>  
                 <th>Name Listen</th>

            </tr>  

            <tr ng-repeat="data in [nameL] track by $index">  

             <td>{{data}}</td>  


             <td>



               </td>
            </tr>  
       </table> 

1 个答案:

答案 0 :(得分:0)

要显示所有列表,您需要存储范围内的列表。此时您只将最后一个列表存储在您的范围内。

$scope.lists = [];

for (i = 0; i < response.data.length; i++) {
    $scope.nameL = response.data[i].nameL;
    $scope.lists.push(nameL);
    //alert($scope.nameL);
}

然后以HTML格式显示您的列表列表

<table class="table table-bordered">  
    <tr>  
        <th>Name Listen</th>
    </tr>  
    <tr ng-repeat="data in lists track by $index">  
         <td>{{data}}</td>  
         <td>
         </td>
    </tr>  
</table>