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

  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • MikeyMacintosh

    MikeyM

    28 Aralık 2009
  • Muse

    Muse

    28 EYLÜL 2006