【问题标题】:Same filter for ng-repeat inside another ng-repeat另一个 ng-repeat 中的 ng-repeat 相同的过滤器
【发布时间】:2017-01-28 18:58:21
【问题描述】:

在另一个 ng-repeat 中使用 ng-repeat 的相同过滤器

我制作了一张表格,我需要在其中组合来自不同数组的 col。第一个数组是相同数据的列表。第一个列是数字,当这个数字为空时,我从第二个数组中获取另一个数字。 然后一个我有搜索框,我只使用第一个列中的这个数字进行搜索。我在表中使用 ng-model 过滤器,但我不能为两个 ng-repeat 过滤器。

搜索框

<div calss="input-lg">
    <input name="value" id="input" type="text" class="input-lg"  
    placeholder="Search in DM-TEC" ng-model="searchDM" ng-virtual-keyboard="
   {size: 9, relative: false}"/>
</div>

html表格

 <tbody ng-repeat="roll in vykresy | filter: searchDM">
     <tr  ng-repeat="re in RE | filter: searchDM" ng-if="roll.id === 'RE'">
     <td> {{re.num}}</td>
     <td> {{roll.name}} </td>
     <td rowspan="{{RE.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{RE.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr>  


     <tr ng-repeat="rel in REL | filter: searchDM" ng-if=" roll.id === 'REL'">   
     <td> {{rel.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td rowspan="{{REL.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{REL.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr> 

     <tr ng-repeat="re_l in RE_L | filter: searchDM" ng-if=" roll.id === 'RE_L'">   
     <td> {{re_l.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td rowspan="{{RE_L.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{RE_L.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr> 

     <tr ng-if="roll.id === 'PVR'">  
     <td> {{roll.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td> {{roll.numberD}} </td>
     <td> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>
     </tr>

角度

$scope.search = '';

过滤器仅适用于 ng-repeat 或仅在内部,但我需要对两者都使用此过滤器。

提前致谢!

最好的问候 大卫

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您在两个过滤器上都使用了通用 ng-model

    结果,

    ng-repeat="roll in vykresy | filter: searchDM"
    

    如果 tbody 由于过滤结果而被隐藏, 您的内部过滤器没有机会显示结果。

    结果inner ng-repeat 是inner DOM 会自动被移除,所以你看不到。

    【讨论】:

    • 好的。我知道了。还有其他方法吗?
    • 一旦你的父DOM元素被隐藏了,在隐藏的DOM中进行操作就没有意义了。你需要重新构建你的html。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多