2012-01-08 10 views
5

Muszę wiedzieć, jak wyzwolić aktualizację dla , gdy observable zostanie zmieniona wewnątrz .KnockoutJS observableArray do aktualizacji, gdy wewnętrzna obserwowalna zostanie zmieniona

Mam observableArray, który reprezentuje drzewo binarne. Używam funkcji mapowania pamięci, aby uzyskać i ustawić wartości w tablicy, więc musi być zrównoważona, nawet jeśli może zawierać tylko pusty observable. Na przykład. węzły() [9] może zerowa, ale gdy ten węzeł jest aktualizowany nazwałbym nodes()[9](set new value) i trzeba wyzwolić observableArray zaktualizować

Odpowiedz

4

Zakończone przy użyciu .replace() na observableArray

3

Zarządzane przejrzeć kod i znaleźć observableArray.replace()

DOTYCZY: How to replace a given index element in knockoutjs

+1

zastąpienie jest idealne tutaj. Inną opcją jest użycie splotu, aby wyciągnąć przedmiot, a następnie wcisnąć element zastępujący. Ale znowu, zastąpienie jest lepszym rozwiązaniem. –

+0

Tak, ale jeśli użyłem splotu, w jaki sposób wstawiłbym go z powrotem do prawidłowej pozycji? – Ryan

+1

splice można dodawać, usuwać lub dodawać i usuwać elementy z dowolnych pozycji. zobacz https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice. na przykład 'tablica.splice (3, 1," cześć ")' implements "zamień" w czystym javascript. KO oferuje dodatkowe metody wygody na obserwowalneArrays. innym przykładem tylko dodanie elementów ad danej pozycji jest 'tablica.splice (3, 0," cześć "," świat ")'. – saurus

Powiązane problemy