Nasıl koşullu olarak gözlemlenebilir bir dizi bir öğe itmek için mi? | Netgez.com
SORU
7 Aralık 2011, ÇARŞAMBA


Nasıl koşullu olarak gözlemlenebilir bir dizi bir öğe itmek için mi?

Eğer madde zaten varsa ** 3, ama sadece bir üzerine push yeni bir öğe etmek istiyorum. Herhangi bir "KnockoutJS? bu ulaşmak için" işlev ya da önerilen desen bulmak var

observableArray remove işlevi bir durum geçen bir alma işlevi olduğunu fark ettim. Ben de hemen hemen aynı işlevi istiyorum, ama tek şart geçirilir ya doğru değilse itin.

CEVAP
7 Aralık 2011, ÇARŞAMBA


Bir observableArray indexOf bir işlev (ko.utils.arrayIndexOf sarıcı) gösterir. Bu size yapmanızı sağlar:

if (myObservableArray.indexOf(itemToAdd) < 0) {
  myObservableArray.push(itemToAdd);
}

İkisi aslında aynı nesne için bir başvuru değildir ve özel bir karşılaştırma mantığı çalıştırmak istiyorsanız, o zaman ko.utils.arrayFirst gibi kullanabilirsiniz:

var match = ko.utils.arrayFirst(myObservableArray(), function(item) {
    return itemToAdd.id === item.id;
});

if (!match) {
  myObservableArray.push(itemToAdd);
}

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • isupportthegosselins

    isupporttheg

    6 Aralık 2009