首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Konacha进行测试时,Ember无法在didLoad回调中访问控制器作用域

在使用Konacha进行测试时,Ember无法在didLoad回调中访问控制器作用域
EN

Stack Overflow用户
提问于 2013-05-25 00:47:15
回答 1查看 245关注 0票数 0

这段代码在我的浏览器上运行得很好:

代码语言:javascript
复制
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测试我的应用程序时,它抛出了这个奇怪的输出:

代码语言:javascript
复制
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 

这怎么可能呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-26 14:28:49

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

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

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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16739896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档