Angular - имя динамической модели с идентификатором in-repeat

0

Это мой контроллер:

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

Для атрибута name textarea работает отлично, но для ng-модели - нет. Также я попытался с этим синтаксисом ng-model = "project_budget_administration.activity [input.id]", а вместо input.id я попробовал $ index, также не работал.

  • 0
    Ваш синтаксис не имеет смысла. <% %> не являются допустимыми угловыми тегами, и я не понимаю, почему $index или item будут работать - так как они не определены?
  • 0
    Вы можете установить любые теги, которые вы хотите, поэтому я выбираю этот «<%%>»
Показать ещё 4 комментария
Теги:
angular-ngmodel
angularjs-ng-repeat

1 ответ

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/ - Как установить динамическое имя модели в AngularJS?

  • 0
    нет, не работает, когда я проверяю элемент, он выглядит как обычный текст: "ng-model =" project_budget_administration ['activity_' + input.id] "
  • 0
    Кого вы видите, если вы войдете в систему {{project_budget_administration}}, на этой модели вы должны увидеть поле деятельности, например, (в зависимости от идентификатора) с данными, которые вы вводите в текстовое поле.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню