我想看看是否有一种方法可以自动将start
、stop
、before:start
事件绑定到所有初始化的模块,而不必向每个模块添加this.on('start',function() {})
样板。
我只是通过这些函数做一些基本的日志记录/调试,以帮助我更好地理解我的基础结构,如果我能定义类似于如何覆盖原型的事件,那就太酷了。
这是一个“样板”的例子,我必须添加来完成这样一个看似简单的任务。显然这是在咖啡...
@on "before:start", ->
console.log "starting: #{Self.moduleName}"
return
@on "start", (defaults)->
_init()
console.log "started: #{Self.moduleName}"
return
@on "stop", () ->
console.log "stopped: #{Self.moduleName}"
return
_init = () ->
return
我的第一个想法是以某种方式覆盖MyApp.module()
函数,并将事件绑定在那里?虽然不确定我将如何做到这一点...:-/
如何做到这一点?
1条答案
按热度按时间bwntbbo31#
我会照你说的做。
你可以重写构造函数。但是如果你这样做,你必须非常小心,重新绑定任何静态方法和绑定到它的原型。基本上,你可以这样做:
然后,您必须重新绑定原型和静态方法。
编辑:
关于重新绑定: