Javascript ng如果在ng中重复$index插值
在我的应用程序中,我有嵌套的表单,一些具有固定名称,一些具有使用ng repeat index生成的名称:Javascript ng如果在ng中重复$index插值,javascript,html,angularjs,angularjs-ng-repeat,angular-ng-if,Javascript,Html,Angularjs,Angularjs Ng Repeat,Angular Ng If,在我的应用程序中,我有嵌套的表单,一些具有固定名称,一些具有使用ng repeat index生成的名称: <form name="rootForm"> <div ng-repeat="child in childForms"> <ng-form name="childForm_{{$index}}"> <!-- form content--> </ng-form>
<form name="rootForm">
<div ng-repeat="child in childForms">
<ng-form name="childForm_{{$index}}">
<!-- form content-->
</ng-form>
</div>
<ng-form name="fixedName">
<!-- form content-->
</ng-form>
<ng-form name="anotherFixedName">
<!-- form content-->
</ng-form>
</form>
在同一个html文件中,我希望通过ng if语句访问这些表单$valid属性。可能吗?
我正在尝试:
<div>
<div ng-repeat="child in childForms">
<div ng-if="rootForm.childForm_[$index].$valid">
Child form {{index}} is valid!
</div>
</div>
<div ng-if="rootForm.fixedName.$valid"> Valid! </div>
<div ng-if="rootForm.anotherFixedName.$valid"> Valid! </div>
</div>
子表单{index}}有效!
有效!
有效!
它可以很好地处理具有固定名称的表单。但对于具有生成名称的子窗体,它不会。我做错了什么?如果使用了一个不符合预期的表达式,则使用
ng重复元素
而不是:
<div ng-if="rootForm.childForm_[$index].$valid">
可能是:
<div ng-if="rootForm['childForm_' + $index].$valid">
在前者中,标记将尝试访问一个名为childForm\uu[$index]
Try:
<div ng-if="rootForm['childForm_' + $index].$valid">
是否尝试将ng repeat=“child in childForms track by$index”?认为即使没有成功生成子表单名称,也不需要“track by$index”。这是无效语法,不确定是否要保留第一个
正确,这是一个错误,谢谢。更新了答案。