簡體   English   中英

如何在ng-if中使用$ index

[英]How to use $index in ng-if

所以我下面有這段代碼

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

並且不起作用,我該如何在ng-if中使用$ index表達式? ng-model和名稱正常工作...

對於動態字段,可以使用[]包裝動態字符串字段。

registrationForm['name'+($index+1)].$dirty

請參考以下示例:

 angular.module("app", []) .controller("myCtrl", function($scope) { $scope.items = ['a','b','c','d']; }); 
 <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> 

我曾經遇到過同樣的問題。 您可以執行的操作不是使用dot(.)表示法,而是使用方括號表示法來訪問表單控件。 那對我有用。 下面是一個例子。 試試這個,這將起作用。 讓我們知道您是否需要幫助。

registrationForm['name'+($index+1)].$dirty

希望能幫助到你 :)

嘗試這個 :)

<span ng-if="registrationForm['name'+($index+1)].$dirty && registrationForm.name+($index+1).$invalid">error</span>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM