【发布时间】:2015-02-02 00:24:41
【问题描述】:
我正在重写一个个人 coffeescript 项目以尽可能多地使用类,只是为了 lulz(也因为它有助于自动生成文档),我遇到了一些我可能无法编写为上课,想看看是否有人有解决方案,或者是否不可能。
我想获取一个 html 元素并为其添加一堆自定义方法,类似于以下工作:
myelement = (element) ->
element.method1 = ->
element.method2 = ->
element
raw = $('#something')[0]
out = myelement(raw)
expect(out).toBe(raw)
expect(out.method1).toBeDefined()
但正如我所说,我想把它写成一个类,像这样:
class MyElement
constructor: (element)
#something funny here
method1: ->
method2: ->
raw = $('#something')[0]
out = new MyElement(raw)
expect(out).toBe(raw)
expect(out.method1).toBeDefined()
目标是能够将返回的对象视为 html 元素或我的类的实例。
这是否可能没有疯狂的黑客攻击,或者我应该采取不同的方法,还是放弃它并坚持我已经拥有的?
【问题讨论】:
-
您应该采用一种不同的方法,该方法不涉及向宿主对象添加自定义方法。是的。 nczonline.net/blog/2010/03/02/…
标签: javascript html class coffeescript