如何在表中使用角度j动态添加行?

时间:2016-12-01 12:46:22

标签: javascript jquery html angularjs

如何使用AngularJS在表中动态添加行,该表包含来自get请求的数据?

我已经编写了这样的代码:

android:gravity="right"

现在使用角度js如何在同一个表格中点击按钮或获取请求时添加一行......?

我写了一个脚本,该脚本无效,脚本如下..

<table id="tableRow" class="table table-bordered tableRow">
    <thead>
        <tr>
            <th></th>
            <th>
                <label>Make</label>
            </th>
            <th>
                <label>Vin</label>
            </th>
            <th>
                <label>Model</label>
            </th>
            <th>
                <label>Parts</label>
            </th>
            <th>
                <label></label>
            </th>
            <th>
                <label></label>
            </th>
        </tr>
     <thead>
   </table>

我收到错误,例如:

  

tabelform.html:320 Uncaught SyntaxError:意外的输入结束

     

angular.min1.5.9.js:6未捕捉错误:[$ injector:modulerr]   http://errors.angularjs.org/1.5.9/ $注射器/ modulerr P0 = MyApp来&安培; P1 =错误%3A%2 ... Ic的20%(HTTP%3A%2F%2F127.0.0.1%3A63139%2Fjs%2Fangular.min1.5.9.js% 3A21%3A332)(...)

1 个答案:

答案 0 :(得分:1)

您可能希望将表绑定到支持列表并使用ng-repeat动态构建表:

<div ng-app="myApp" ng-controller="carCtrl"> 

<table>
  <tr ng-repeat="car in cars">
    <td>{{ car.make }}</td>
    <td>{{ car.vin }}</td>
    <td>{{ car.model }}</td>
  </tr>
</table>

</div>

您的相应Angular脚本如下所示:

<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {

    $http.get("http://172.17.133.82:8080/restproj/v1/dealer")
         .then(function (response) {
           $scope.cars = response.data.records;
           });

    });

</script>

或者,如果您希望在获得ajax响应时添加汽车,您可以将它们推送到列表(或连接现有列表,或任何适合您的情况)

$scope.cars.push(response.data.records)

Angular具有双向数据绑定,因此如果它看到后备列表发生了变化(例如通过在列表中添加额外的汽车),它将动态更新您的表。