此代码在我的浏览器上完美运行:
doLogin: (user) ->
_controllers = @get('controllers')
res = Cluey.Order.find({table: null, user: user.get('id')})
res.on 'didLoad', =>
order = @objectAt(0)
console.log _controllers
_controllers.get('order').set('model', order)
但是当我用Konacha测试我的应用程序时,它会抛出这个奇怪的输出:
Hi, we are the controllers ! users_controller.js:95
Class {controller: Class, toString: function, constructor: function, controller: null, unknownProperty: function…} users_controller.js:96
Uncaught Error: assertion failed: calling set on destroyed object
这怎么可能?
答案 0 :(得分:-1)
_controllers在你的didLoad回调被定义之前被设置,所以我认为你的问题标题是不正确的(你似乎没有完全理解JavaScript)。您的问题不在于您无法访问didLoad处理程序中的控制器。
您的输出未显示console.log'ing _controllers的结果。我认为它根本没有进入didLoad处理程序。
你的代码在users_controller.js中执行第96行后停在了某处,但是你真的需要设置断点或放置console.log或使用调试器找出位置。如果你自己做更多的事情来缩小问题范围,你会在这里找到更好的帮助。