2013-03-08 36 views
3

接入路由器在emberjs PRE2从任何地方像Emberjs - 如何在RC1

我们可以访问路由器
App.get('router') 

任何人都可以建议可能是emberjs RC1类似的代码?

感谢

+0

你的用例是什么?我相信路由器是孤立的原因。如果你只是想转换到另一条路径,从控制器内部你可以做一些像this.get('target').transportTo('other.route')',并且从一个路由中你只需要' this.transitionTo('other.route')' – MilkyWayJoe 2013-03-08 20:39:07

回答

5

任何人都可以建议可能是emberjs RC1类似的代码?

Emberjs rc1不以这种方式暴露路由器。

作为替代方案,您应该通过本地引用访问路由器。

这不只是路由器,曾经是通过访问全局常量几乎所有隐时现。这是因为使用全局常量来访问实例会破坏封装,虽然这对控制台来说很好,但应该避免在应用程序代码中使用。

+0

在ember.js中使用App.container(现在的__container__)可能不是一个好主意......但是如何在与其他框架,遗留代码等接口时使用它呢?那可以吗? – petersaints 2013-04-30 01:41:59

+0

假设可能有一个用例,但我没有找到一个用例。好像你想尽可能地隔离遗留代码。因此,如果访问像容器这样的私有方法是来自您的ember代码的一个坏主意,那么在与另一个框架进行交互时访问它可能会更糟糕。 – 2013-04-30 07:28:20

+0

但如果我需要Ember应用程序对其他地方发生的事情做出反应,该怎么办?正在使用Instrum entation(http://stackoverflow.com/questions/14458287/how-to-fire-an-event-to-ember-from-another-framework/14508316#14508316)正确的事情做这个简单的使用案件? – petersaints 2013-04-30 11:20:36