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ş:
Nasıl otomatik olarak bir gözlemlenebi...
Nasıl bir dinamik olarak görüntülemek ...
Nasıl bir dizin özyinelemeli olarak tü...
Nasıl dikey olarak div içine bir resim...
Nasıl bir dize olarak adını aldığımda ...