angularjs add value无法设置undefined的属性'id'

Ahm*_*ous 7 javascript angularjs

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

$scope.addClient = function() {

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

}
Run Code Online (Sandbox Code Playgroud)

这是我的表格

<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>
Run Code Online (Sandbox Code Playgroud)

它告诉我

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

并没有添加任何内容.

Pr0*_*m3r 23

你的问题就在于此

$scope.client.id = clientId++;
Run Code Online (Sandbox Code Playgroud)

因为$scope.client从未定义过.

要解决这个问题

$scope.client = {};
Run Code Online (Sandbox Code Playgroud)

之前

$scope.addClient = function() { ... }
Run Code Online (Sandbox Code Playgroud)