ng-如果在使用ng-repeat的嵌套表迭代时不起作用

时间:2017-06-16 06:32:52

标签: angularjs

当表内的表在那个时间内动态重复时ng-if不起作用。当时在子表中添加一行时使用错误的父index.am使用类似但在输入字段工作正常但按钮不起作用当ng-if条件采用错误的父索引时

例如

<div  id="parentdivId" ng-repeat="parent in listOfParentTables">

            <table >
            <thead class="evlhead ingpopuphead">
              <tr>
                <th >A</th>
                <th >B</th>               
                <th >C</th> 
              </tr>
            </thead> 

            <tbody >
             <tr  ng-repeat="child in parent.childMaster" ng-if="child.status!=2">  
             <td > 
              <select   id="a10" ng-model="child.a10">
               <option ng-repeat="list in listMaster" value={{list.ID}}>{{list.NAME}}</option>
              </select>  
              </td> 
             <td ><div class="addrembtn" ><input class="btnadd" type="button" value="+" id="addbutton10"  ng-click="addNewChildRow($parent.$index,$index)"><input class="btnrem" type="button" value="-" id="deletebutton10"  ng-click="removechildRow($parent.$index,$index)"></div></td>
            </tr>
               </tbody> 
           </table>


           <div style="float:left;"> 
            <button class="parentbtn" style="margin:37px 0px 0px 17px !important;width: 75px;" value="AddTable" id="basebutton" ng-click="addNewParenttable($index)">+ &nbsp;Gasto</button>
          </div>
          <div style="float:left;"> 
            <button class="parentbtn" style="margin: 12px 0px 0px 17px !important;width: 75px;" value="AddTable" id="basebutton" ng-click="removeParenttable($index)">- &nbsp;Eliminar</button>
          </div>

           </div>

1 个答案:

答案 0 :(得分:2)

在嵌套的ng-repeat中,$ index不会给出迭代数组中元素的索引。使用类似的东西

ng-click="addNewChildRow(listOfParentTables.indexOf(parent),parent.childMaster.indexOf(child))"
ng-click="addNewParenttable(listOfParentTables.indexOf(parent))"

indexOf始终返回ng-repeat中的原始索引 Plunker

希望它有所帮助!