如何在angularjs中过滤后获取所选项目?

时间:2014-12-22 17:02:46

标签: angularjs

我有以下内容:

    <table class="table table-striped">
            <thead>
            <tr>
                <th>Name</th>
                <th>Url</th>
                <th>Published</th>
                <th>Import</th>
            </tr>
            </thead>
            <tr ng-repeat="catalogObject in catalog | filter:catalogueSearchText |
                 orderBy:sortOrder:true"">
                <td>{{catalogObject.name}}</td>
                <td>{{catalogObject.url}}</td>
                <td>{{catalogObject.published}}</td>
                <td style="text-align:center">
                    <div class="btn btn-primary"
                  ng-click="ok(catalogObject.originalPosition)">&#10004;</div></td>
            </tr>
        </table>

我创建了originalPosition属性,这样一旦我过滤了我的目录,我就确切知道所选对象在目录范围列表中的位置。

有没有比使用更具说明性的方法在我的集合上创建此附加属性更好的方法?

所以基本上我需要一种方法来在原始列表被过滤和排序之后访问所选项目(在我刚刚使用$ index in ng-click =&#34; ok($ index&#34;)之前)此索引与我的目录列表中元素的原始位置不对应。)

1 个答案:

答案 0 :(得分:1)

您想要访问原始对象,但您已拥有此对象!

您只需对ok()函数进行少量修改,以便适用于ok(catalogObject)