【问题标题】:Use of this.own() method in dojodojo 中 this.own() 方法的使用
【发布时间】:2013-02-28 01:43:25
【问题描述】:

我想知道 dojo 小部件中“this.own()”方法的意图。 Dojo Api 1.8 文档中提到了此方法,例如在 diijit/form/button 下。我在谷歌上没有找到任何对我有意义的东西。就是这样提到方法的:

connect(obj, event, method)

已弃用,将在 2.0 中删除,请使用 this.own(on(...)) 或 this.own(aspect.after(...)) 代替。

【问题讨论】:

    标签: javascript dojo


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

      简短的回答是:您在.own() 中定义的大部分内容都会在小部件本身被销毁后正确删除。使用.own() 可以防止您的应用中出现内存泄漏。

      【讨论】:

        【解决方案3】:

        要从页面中删除小部件,您可以调用 destroy 或 在您的小部件上递归销毁。

        当你这样做时,你使用 this.own (dojo/on, dojo/aspect、dojo/topic、dojo/router、相关DOM的创建 节点或小部件等)将被删除和/或取消注册 自动地。这是通过 dijit/Destroyable 实现的 界面。

        Understanding-WidgetBase-own-td4002453.html
        Related Tutorial

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-19
          • 2012-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-10
          • 1970-01-01
          相关资源
          最近更新 更多