管理不同类型状态的最佳实践是什么?例如,我有一个应用程序,其中某些状态对绑定到路由有意义,因此我正在使用路由器,但其他状态无法反映在 URL 中,这样做没有意义。那么是否可以让完整路由器管理某些状态而由状态管理器实例管理其他状态?拥有多个状态管理器是否可以接受,或者这是一个坏主意?
问问题
261 次
1 回答
3
Ember.StateManager
是的 - 使用不是路由器的区域是完全可以接受的。
路由器非常擅长处理整体应用程序状态,将模型/视图/控制器连接在一起,渲染到插座,并且在没有全局依赖的情况下始终可用。然而,路由器实际上只是一个状态管理器,一次只能处于一种状态,有时在其他对象中需要额外的状态。
您可以在对象内部使用 StateManager。这方面的一个示例是Car
具有以下状态的模型:驾驶、停车、撞车、维修。状态管理器非常适合这里,因为有一个最终状态,您可以控制可用的操作。例如,从 出发没有意义driving->repairing
,只有crashed->repairing
被允许。
于 2012-10-06T14:54:54.613 回答