dojoウィジェットの「this.own()」メソッドの意図を知りたいのですが。この方法は、Dojo Api 1.8のドキュメント、たとえばdiijit/form/buttonに記載されています。グーグルで私にとって意味のあるものは何も見つかりませんでした。それが方法が言及されている方法です:
connect(obj、event、method)
非推奨。2.0で削除されます。代わりにthis.own(on(...))またはthis.own(aspect.after(...))を使用してください。
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
簡単に言うと、ウィジェット自体が破棄されると、.own()
内で定義するもののほとんどが正しく削除されます。 .own()
を使用すると、アプリのメモリリークを防ぐことができます。
ページからウィジェットを削除するには、ウィジェットでdestroyまたはdestroyRecursivelyを呼び出すことができます。
これを行うと、this.ownを使用して追加したもの(dojo/on、dojo/aspect、dojo/topic、dojo/router、関連するDOMノードまたはウィジェットの作成など)が削除されるか、登録が解除されます。自動的に。これは、dijit/Destroyableインターフェースを介して実装されます。