我想知道dojo小部件中「this.own()」方法的用意。該方法在Dojo Api 1.8文檔中提到,例如在diijit/form/button下。在谷歌上我沒有發現任何對我有意義的東西。這是怎樣的方法中提到:在dojo中使用this.own()方法
連接(OBJ,事件,方法)
棄用,將在2.0被去除,使用this.own(上(...))或 this.own(aspect.after(...))代替。
我想知道dojo小部件中「this.own()」方法的用意。該方法在Dojo Api 1.8文檔中提到,例如在diijit/form/button下。在谷歌上我沒有發現任何對我有意義的東西。這是怎樣的方法中提到:在dojo中使用this.own()方法
連接(OBJ,事件,方法)
棄用,將在2.0被去除,使用this.own(上(...))或 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
從頁面移除小工具,你可以調用銷燬或 在你的widget上遞歸地銷燬。
當你這樣做時,你使用this.own添加的任何東西(dojo/on, dojo/aspect,dojo/topic,dojo/router,創建相關的DOM節點或小部件等)將會自動移除和/或未註冊 。這是通過dijit/Destroyable 接口實現的。
Understanding-WidgetBase-own-td4002453.html
Related Tutorial
簡短的回答是:大多數的,你裏面.own()
定義的東西,一旦小部件本身被破壞時得到正確刪除。使用.own()
可以防止應用程序中的內存泄漏。
非常感謝! – 2013-03-12 14:32:20