角度 - 动态 ng 模型名称,ID 在 ng 重复中

Angular - Dynamic ng-model name with id in ng-repeat

本文关键字:ng ID 动态 模型 角度      更新时间:2023-09-26

这是我的控制器:

$scope.inputs = [];
$scope.addInput = function () {
    $scope.inputs.push({
        id: $scope.inputs.length + 1,
    });
};
$scope.removeInput = function (index) {
    $scope.inputs.splice(index, 1);
};

我尝试了这种方式,但没有奏效:

<div ng-repeat="input in inputs">
      <textarea   id="activity"
                  name="project_budget_administration[<% input.id %>][activity]"
                  placeholder="Activity"
                  ng-model="project_budget_administration.activity_<% input.id %>"
                  ng-maxlength="100"
                  required></textarea>
</div>
对于

文本区域的名称属性效果完美,但对于 ng 模型 - 不是。我也尝试使用这种语法ng-model="project_budget_administration.activity[input.id]",而不是 input.id 我尝试$index,也不起作用。

您可以使用 javascript 表达式来动态命名 ng-model

<div ng-repeat="input in inputs">
  <textarea   id="activity"
              name="project_budget_administration[<% input.id %>][activity]"
              placeholder="Activity"
              ng-model="project_budget_administration['activity_' + input.id]"
              ng-maxlength="100"
              required></textarea>

来自不同答案的小提琴 - http://jsfiddle.net/DrQ77/- 如何在 AngularJS 中设置动态模型名称?