2013-03-12 13 views
17

Chciałbym poznać intencję metody "this.own()" w widgetach dojo. Ta metoda jest wymieniona w Dokumentacji Dojo Api 1.8, na przykład pod diijit/form/button. Nie znalazłem nic, co miałoby sens w Google. W ten sposób metoda jest wymienić:Używanie metody this.own() w dojo

connect (obj, wydarzenie, metoda)

Przestarzałe, zostaną usunięte w wersji 2.0, należy użyć this.own (na (...)) lub this.own (aspect.after (...)) zamiast tego.

Odpowiedz

18

Funkcja own jest zdefiniowana w dijit/Destroyable, który jest podstawą dijit/_WidgetBase, a zatem również najbardziej wzory.

dijit/Destroyable służy do śledzenia uchwyty instancji, a następnie je zniszczyć, gdy instancja jest zniszczona. Wniosek musi zadzwonić zniszczyć() na przykład w celu uwolnienia uchwyty

http://dojotoolkit.org/reference-guide/1.8/dijit/Destroyable.html

http://dojotoolkit.org/reference-guide/1.8/dojo/Evented.html

+0

dziękuję bardzo! –

2

Aby usunąć widget ze strony, możesz albo zadzwoń zniszczyć lub destroyRecursive na swoim widżecie.

Kiedy to zrobisz, cokolwiek, że dodane za pomocą this.own (dojo/na, dojo/aspekcie tematu, dojo/dojo/routera, tworzenie powiązanego DOM węzła lub widget, etc.) być automatycznie usuwane i/lub niezarejestrowane . Jest to realizowane za pośrednictwem interfejsu dijit/Destroyable .

Understanding-WidgetBase-own-td4002453.html
Related Tutorial

5

Odpowiedź jest krótka: większość rzeczy, które definiują wewnątrz .own() są coraz prawidłowo usunięte raz sam widget jest zniszczona. Korzystanie z .own() zapobiega wyciekom pamięci w aplikacji.