我正在尝试将对父类实例的引用传递给它的子类。父类是:
class UI
constructor: (parameters) ->
@addBTS = new AddBTS
@toolbar = new Toolbar(this)
AddBts 和 Toolbar 类是:
class Toolbar
constructor: (@parent) ->
add_bts_clickhandler: () =>
$('body').on 'click', '#add_bts', ->
@parent.addBTS.display()
class AddBTS
constructor: () ->
display: () =>
$("#setBuildingTileSet").show()
console.log 'Showing Sir'
所有这些类都定义在单独的 CoffeeScript 文件中,并在组合之前按以下顺序连接在一起(游戏是 UI 实例所在的位置):
'src/Game'
'src/UI/UI'
'src/UI/AddBTS'
'src/UI/Toolbar'
不,当我打电话时,add_bts_clickhandler: ()
我收到错误消息: * 无法读取未定义的属性 'addBTS' *
所以它认为 parent 是未定义的,但显然不是。
请有人可以帮助我,因为我的代码接缝很好,我完全被卡住了。