2017-06-27 1 views
0

これらのフィールドの各エントリを入力するだけでなく、行と入力を動的に追加する必要がありますが、入力を完了したいときにエラーが発生します行:HTMLで今プロパティ '' on string ''を作成できません '' angularjs

$scope.detalleTransCover = { 
     details: [] 
    }; 
    $scope.addDetail = function() { 
     $scope.detalleTransCover.details.push(''); 
    }; 
    $scope.submitTransactionCobver = function() { 
     angular.forEach($scope.detalleTransCover, function(obj) 
     { 
      console.log(obj.cuenta); 
     }); 
    }; 

:私は入力例を埋めるためにしようと、HTML上の

<tr ng-repeat="detail in detalleTransCover.details"> 
    <td> 
     <input type="text" class="form-control" ng-model="detail.cuenta"> 
    </td> 
    <td> 
     <input type="text" class="form-control" ng-model="detail.debeDolar"> 
    </td> 
    <td> 
     <input type="text" class="form-control" ng-model="detail.haberDolar"> 
    </td> 
</tr> 

<button ng-click="addDetail()" class="btn btn-block btn-primary"> 
    Agregar fila 
</button> 
<button ng-click="submitTransactionCobver()" class="btn btn-block btn-primary"> 
    Agregar 
</button> 

"CUENTA" haverエラー:

TypeError: Cannot create property 'cuenta' on string '' 

答えて

0

あなたの配列に新しい入力を押すと、あなたがオブジェクトではない文字列をプッシュする必要があります。

// wrong 
$scope.addDetail = function() { 
    $scope.detalleTransCover.details.push(''); 
}; 

// right 
$scope.addDetail = function() { 
    $scope.detalleTransCover.details.push({}) 
}); 

文字列は、プロパティにオブジェクトができるのと同じ方法を持つことはできません。

関連する問題