angularjs add value无法设置属性' id'未定义的

时间:2014-07-11 13:36:22

标签: javascript angularjs

我正在尝试向我有此查询的表中添加新条目

$scope.addClient = function() {

  var clientId = $scope.items.length;
  //alert(empid);
  $scope.client.id = clientId++;
  $scope.items.push($scope.client);

}

这是我的表格

<div>
  <div class="modal-header">
    <h2>Ajouter client</h2>
  </div>    
  <form role="form"  ng-submit="addClient()">
    <div class="modal-body">
      <label for="name">Nom : </label>
      <input type="text" id="name" class="form-control input" ng-model="client.name" value="  {{client.name}}" />

      <label for="age">Age : </label>
      <input type="text" id="age" class="form-control input" ng-model="client.age" value="{{client.age}}" />

      <label for="gender">Sexe : </label>
      <input type="text" id="gender" class="form-control input" ng-model="client.gender"  value="{{client.gender}}" />

      <label for="email">Email : </label>
      <input type="text" id="email" class="form-control input" ng-model="client.email" value="{{client.email}}" />

      <label for="company">Société : </label>
      <input type="text" id="company" class="form-control input" ng-model="client.company" value="{{client.company}}" />
    </div>
    <div class="modal-footer">
      <button  type="submit" class="btn btn-primary" >Confirmer</button>
      <button   class="btn btn-warning" ng-click="cancel()" >Annuler</button>
    </div>
  </form>
</div>

它告诉我

  

无法设置未定义的属性'id'

并没有添加任何内容。

1 个答案:

答案 0 :(得分:23)

你的问题就在这一行

$scope.client.id = clientId++;

因为永远不会定义$scope.client

解决此问题

$scope.client = {};

之前

$scope.addClient = function() { ... }