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

  • Curso Online Gratuito

    Curso Online

    4 Aralık 2011
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • sWooZie

    sWooZie

    9 ŞUBAT 2006