Angular - 动态ng-模型名称,其id为ng-repeat

时间:2016-03-22 13:16:40

标签: javascript angularjs angularjs-ng-repeat angular-ngmodel

这是我的控制者:

$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>

对于textarea的name属性工作完美但对于ng-model - 不是。 我也试过这种语法ng-model =&#34; project_budget_administration.activity [input.id]&#34;而不是input.id我试过$ index,也没用。

1 个答案:

答案 0 :(得分:0)

您可以使用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/ - How can I set a dynamic model name in AngularJS?

相关问题