2013-03-08 37 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