SORU
20 NİSAN 2013, CUMARTESİ


Dizin yanlış $Angularjs orderBy sonra

Angular.js yeni duyuyorum ve bazı sorunlar benim dizi sıralamak ve sıralanmış veri üzerinde çalışıyor.

Öğeleri içeren bir liste var ve "Saklayın.göre sıralamak istiyorum yani şimdiye kadar çalışma.", storeName Ama verileri sıralama sonra, benim silme fonksiyonu artık çalışmıyor. $Dizin sıralama sonra yanlış ve yanlış veriler silinir çünkü bu.

Bunu nasıl çözebilirim? Bu kapsamda veri sıralama ve görünümünde değil mi? Nasıl yapmalı?

Burada bazı ilgili kod:

Görünüm:

<tr ng-repeat="item in items | orderBy:'Store.storeName'">
                <td><input class="toggle" type="checkbox" ng-model="item.Completed"></td>
                <td>{{item.Name}}</td>
                <td>{{item.Quantity}} Stk.</td>
                <td>{{item.Price || 0 | number:2}} €</td>                
                <td>{{item.Quantity*item.Price|| 0 | number:2}} €</td>
                <td>{{item.Store.storeName}}</td> 
                <td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td>
            </tr>

Ve benim denetleyicisi belirli verileri silmek gereken bu silme özelliği var:

$scope.removeItem = function(index){
        $scope.items.splice(index,1);
    }

Bu güzel Görünümü sipariş vermeden önce çalışır. Eğer önemli bir şey yoksa, lütfen bana şimdi.

Teşekkürler!

CEVAP
20 NİSAN 2013, CUMARTESİ


Bunun yerine ya geçişi üzerinde $index - - fark var - işaret dizinde bir sıralama / filtre dizisi, iletebilirsiniz maddenin kendisi için removeItem fonksiyon:

<a><img src="img/delete.png" ng-click="removeItem(item)">{{$index}}</a>

ve removeItem aşağıdaki gibi bir dizin bir dizi indexOf yöntemi kullanarak bulmak için işlevini değiştirmek

$scope.removeItem = function(item){
   $scope.items.splice($scope.items.indexOf(item),1);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • pain975

    pain975

    27 NİSAN 2008
  • Tianna Sierra Dance

    Tianna Sierr

    16 EYLÜL 2013