2013-03-12 4 views
17

Мне хотелось бы узнать намерение метода this.own() в виджетах dojo. Этот метод упоминается в документации Dojo Api 1.8, например, в diijit/form/button. Я не нашел ничего, что имело смысл для меня в Google. То есть, как упоминается метод:Использование метода this.own() в dojo

подключения (объект, событие, метод)

Устаревшие, будут удалены в 2.0, используйте this.own (на (...)) или this.own (aspect.after (...)).

ответ

18

own функция определена в dijit/Destroyable, которая является основой dijit/_WidgetBase и, следовательно, большинство виджетов.

dijit/Destroyable используется для отслеживания дескрипторов экземпляра, а затем уничтожает их, когда экземпляр уничтожен. Приложение должно вызвать уничтожить() на экземпляре, чтобы освободить ручки

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

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

+0

большое спасибо! –

2

Чтобы удалить виджет со страницы, вы можете либо вызвать уничтожить или destroyRecursively вашего виджета.

Когда вы сделаете это, все, что вы добавили с помощью this.own (додзё/на, додзё/аспект, додзё/тему, додзё/маршрутизатор, создание соответствующего DOM узла или виджета, и т.д.) будет быть удалены и/или незарегистрированы автоматически. Это реализовано через интерфейс dijit/Destroyable .

Understanding-WidgetBase-own-td4002453.html
Related Tutorial

5

Короткий ответ: большинство вещей, которые вы определяете внутри .own() становится правильно снято, как только сам виджет будет уничтожен. Использование .own() предотвращает утечку памяти в вашем приложении.

Смежные вопросы