2012-09-19 19 views
5

Używam knockoutJS jako frameworka MVVM po stronie klienta.Wyrzucanie śmieci-kolekcja modeli w javascript

Czasami tworzę modele widoku tymczasowego (za pomocą funkcji js) i przypisuję je do elementów DOM ładowanych dynamicznie.

Kiedy na przykład panel komentarzy dla niektórych treści nie jest już potrzebny, usuwam panel div z panelu komentarzy. Co dzieje się ze zmienną, która była używana jako model widoku, gdy wywołałem metodę applyBindings z określeniem parametru elementu DOM? To jest jakoś zboczone? Czy jestem odpowiedzialny za to? Jeśli tak - jak to zrobić?

Odpowiedz

2

Przypisanie ViewModel do zmiennej:

var viewModel = {...} 
ko.applyBindings(viewModel, $("#html-id")); 

zniszczyć ViewModel:

ko.cleanNode($("#html-id")); 
delete viewModel; 
$("#html-id").remove(); 

nie próbowałem tego jeszcze, ale to, co mam zamiar wykorzystać w nowy projekt, który będzie miał dynamicznie ładowane/niszczone moduły ...