【发布时间】:2014-03-04 10:24:03
【问题描述】:
我制作了一个 jQuery 插件/小部件作为 OOP 对象,并在该对象中将 HTML/jQuery 元素 ($elem) 保存为属性。我还将该对象的引用(使用new 创建)存储在HTML 元素的data 属性中。这会导致循环引用/内存泄漏吗?
CoffeeScript 中的代码大概是:
class wid
constructor
@$elem = $('<div>hello</div>')
@$elem.appendTo('body')
@$elem.data('obj',@) // adding the instance to the element's data attribute
updateText: (p)->
@$ele.text(p)
widget = new wid()
【问题讨论】:
-
请发布您的代码。
-
作为 what 的属性?
-
当该元素被删除时,数据属性中的数据会被清除,从而允许内存被清除。使用 jQuery 插件在元素数据中包含对对象实例的引用是很常见的。
-
data()是不是需要两个参数来设置数据,取回数据时只有一个? -
错字...更新了代码..
标签: jquery coffeescript