Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng如果在ng中重复$index插值_Javascript_Html_Angularjs_Angularjs Ng Repeat_Angular Ng If - Fatal编程技术网

Javascript ng如果在ng中重复$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>

在我的应用程序中,我有嵌套的表单,一些具有固定名称,一些具有使用ng repeat index生成的名称:

<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”。这是无效语法,不确定是否要保留第一个
正确,这是一个错误,谢谢。更新了答案。