如何在ng-if中使用$ index

Dar*_*hai 0 html javascript angularjs

所以我在下面有这个代码

<form name="registrationForm">
<div class="form-inline" ng-repeat="participant in participantsArray">
        <div class="form-group">
          <input ng-model="datas.name[$index+1]" name="name{{$index+1}}" required verify-name>
          <span ng-if="registrationForm.name+($index+1).$dirty && registrationForm.name+($index+1).$invalid">error</span>
        </div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

并且无法正常工作,如何在ng-if中使用$ index表达式?ng-model,名称正常......

Pen*_*gyy 5

对于动态字段,您可以使用它[]来包装动态字符串字段.

registrationForm['name'+($index+1)].$dirty
Run Code Online (Sandbox Code Playgroud)

参考下面的例子:

angular.module("app", [])
  .controller("myCtrl", function($scope) {
    $scope.items = ['a','b','c','d'];
  });
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="app" ng-controller="myCtrl">
  <form name="registrationForm">
    <div ng-repeat="item in items">
      <input ng-model="datas.name[$index+1]" name="name{{$index+1}}" required verify-name>
      <span ng-if="registrationForm['name'+($index+1)].$dirty && registrationForm['name'+($index+1)].$invalid">error</span>
    </div>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)