Chciałbym push
nowy element na observableArray
, ale tylko wtedy, gdy element nie jest już obecny. Czy istnieje funkcja "znajdź" lub zalecany wzorzec do osiągnięcia tego w KnockoutJS?Jak warunkowo przesuwać element w tablicy obserwowalnej?
Zauważyłem, że funkcja remove
na urządzeniu observableArray
może odbierać funkcję przekazywania stanu. Niemal chcę tej samej funkcjonalności, ale tylko ją popchnąć, jeśli spełniony warunek jest lub nie jest prawdziwy.
Czy to porównanie wszystkich właściwości na itemToAdd? Muszę przetestować tylko właściwość Id. – jaffa
Spowoduje to sprawdzenie, czy oba są dokładnie tym samym obiektem. Jeśli chcesz sprawdzić poszczególne właściwości, możesz użyć 'ko.utils.arrayFirst'. Dodam próbkę do odpowiedzi. –
Doskonała wskazówka, ale musiałem zmienić itemToAdd.id === item.id na itemToAdd.id() === item.id(). Wysłałem swój kod w następnej odpowiedzi. – Rake36