你如何从外面触发路线中的事件?

时间:2013-05-07 07:33:19

标签: ember.js

App.ApplicationRoute = Ember.Route.extend
  events:
    someEvent: (param) ->
      doSth()

我想用Jasmine测试路由事件但是调用:

App.get('ApplicationController').send 'someEvent'

给我带来了一个错误。

1 个答案:

答案 0 :(得分:1)

在测试期间,您可以使用容器查找来访问实例:

<强>控制器

App.__container__.lookup('controller:controllerName')

<强>路线

App.__container__.lookup('route:routeName')

在您的情况下,您需要执行以下操作:

App.__container__.lookup('controller:application').send('someEvent');

或者:

App.__container__.lookup('router:main').send('someEvent');