0

此代码在我的浏览器上完美运行:

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 

这怎么可能?

4

1 回答 1

-1

_controllers 是在定义 didLoad 回调之前设置的,所以我认为您的问题标题不正确(而且您似乎对 JavaScript 没有完全了解)。您的问题不在于您无法访问 didLoad 处理程序中的控制器。

您的输出未显示 console.log'ing _controllers 的结果。我认为它根本没有进入 didLoad 处理程序。

您的代码在执行 users_controller.js 中的第 96 行后在某处停止,但您确实需要设置断点或放置 console.log 或使用调试器来确定位置。如果您自己做更多的事情来缩小问题范围,您会在这里找到更好的帮助。

于 2013-05-26T06:28:48.920 回答