web-dev-qa-db-ja.com

dojoでのthis.own()メソッドの使用

dojoウィジェットの「this.own()」メソッドの意図を知りたいのですが。この方法は、Dojo Api 1.8のドキュメント、たとえばdiijit/form/buttonに記載されています。グーグルで私にとって意味のあるものは何も見つかりませんでした。それが方法が言及されている方法です:

connect(obj、event、method)

非推奨。2.0で削除されます。代わりにthis.own(on(...))またはthis.own(aspect.after(...))を使用してください。

18
Lucian Depold

own関数はdijit/Destroyableで定義されています。これは、dijit/_WidgetBaseのベースであり、したがってほとんどのウィジェットです。

dijit/Destroyableは、インスタンスのハンドルを追跡し、インスタンスが破棄されたときにそれらを破棄するために使用されます。アプリケーションは、ハンドルを解放するために、インスタンスでdestroy()を呼び出す必要があります

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

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

19
Craig Swing

簡単に言うと、ウィジェット自体が破棄されると、.own()内で定義するもののほとんどが正しく削除されます。 .own()を使用すると、アプリのメモリリークを防ぐことができます。

8
0leg

ページからウィジェットを削除するには、ウィジェットでdestroyまたはdestroyRecursivelyを呼び出すことができます。

これを行うと、this.ownを使用して追加したもの(dojo/on、dojo/aspect、dojo/topic、dojo/router、関連するDOMノードまたはウィジェットの作成など)が削除されるか、登録が解除されます。自動的に。これは、dijit/Destroyableインターフェースを介して実装されます。

nderstanding-WidgetBase-own-td4002453.html
関連チュートリアル

3
user100712