2012-09-07 60 views
2

爲了分割多個需要維護獨立功能的插座,是否有多個狀態管理器是好的做法?EmberJS多種狀態管理器/路由器

實例:

  • iPad的風格酥料餅的窗口(http://metalabdesign.com/images/screenshots/flow-inside.png) - 這是一個單獨的控制器和視圖然後當前狀態。這對我來說很有意義有「酥料餅statemanager」 - 這樣的路由器還停留在當酥料餅打開其當前狀態 - 所有的其他按鈕和操作的頁面仍然可以工作在...
  • 模態窗口,動態側邊欄等...

我的想法是有一個路由器控制主要交互,它只是觸發命令statemanagers打破當前「屏幕」的某些「部分」孤立的部分。

+0

您是否曾經找到過處理這些多個國有經營者和網點的好方法? –

+0

呃,我最終合理化只有一個狀態管理器/路由器。我有控制器觀察某些「狀態」 - 例如currentUserController - 並且我的路由器與該控制器交互(例如確認用戶在轉換到「受限制」路由時登錄 - 或者控制器告訴路由器重定向(例如登錄路線) –

+0

好的,我在質疑更多你提到的popover風格窗口 - 我有一個類似的問題打開http://stackoverflow.com/questions/16415686/multiple-routers-in-ember-js –

回答

0

你應該只有一個路由器。然後將整個應用程序設計爲一系列通過路由器相互交互的狀態。通過這種方式,您的整個應用程序更易於管理並且更易於測試。

你可能想看看This presentation關於這一主題進一步瞭解。