选择除所选迭代之外的所有 NG-Repeat 迭代

Selecting all NG-Repeat iterations except the selected one

有没有办法像选择 ng-repeat 的特定迭代一样jQuery?

编辑特定文章时,我希望所有其他文章都淡出,所以我使用了一个函数:

ng-click="edit(articleKey)"

并将使用 ng-class 进行指定的淡化。

我该如何使控制器中的函数具有这种行为?

这应该让你继续:

<tbody>
    <tr ng-repeat="product in products">                       
        <td ng-class="{'faded_out': !article[product.id].selected, 'faded_in': article[product.id].selected}" ng-click="edit('product.id')">{{ product.id }}</td> 
    </tr>
</tbody>

$scope.products = [{name: "All", articleKey: "212", selected = true},
                    {name: "Termi", articleKey: "4324" selected = true},
                    {name: "911", articleKey: "2323" selected = true}];

$scope.edit = function (articleKey){
    for (var i = 0; i < $scope.products.length; i++) {
        if ( $scope.products[i].articleKey === $scope.products[i].articleKey) {
             $scope.products[i].selected = true;
        } else {
            $scope.products[i].selected =false;
        }
    }
}

您可以使用 $index 来做到这一点。

像这样。

  <ion-list>
        <ion-item ng-click="selected.value = $index" ng-repeat="item in items" ng-hide="selected.value === $index">
           Hello, {{item}}!
        </ion-item>
  </ion-list>

只需在单击时存储所选值,您可以使用 ng-class 淡出元素,将它们与所选索引进行比较,而不是 ng-hide。