无法在字符串 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错误时,在HTML上

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

当您将新输入推向数组时,您需要推动对象而不是字符串:

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

字符串不能像对象一样具有相同的属性。

最新更新