Sam*_*Fen 8 routes statechart ember.js
我试图了解Ember.js中的状态是否仅被设计/假设在路径管理器中定义,以及路由是否是Ember的组成部分.几乎所有我看过的指南似乎都假设您希望状态和路线完全匹配.
我想创建不依赖于路由的状态,而只是创建应用程序的状态.例如,在电子邮件客户端中,我可能具有"userHasSpecifiedRecipient"状态.仅当此状态为true时,我才能启用表单的消息框.但显然我不希望网址是:
myEmailClient.com#composingMessage_userHasSpecifiedRecipient_userIs... 等等
有这样的例子吗?
第二个问题:我可以混合与路线和状态相结合的状态吗?
最后:我看到一些建议,建议人们使用Ember的sproutcore-statechart插件,如果他们想要并发状态之类的东西.这仍然是真的吗?
在 EmberJS 中,有一个有限状态机的实现,Ember.StateManager。StateManager 使用 Ember.State 来表示状态机中的状态,状态机有enter和exit函数等。看一下类: Ember.StateManager。
对于使用 StateManager 的示例,Ember.View 使用它来管理视图的不同状态。另一个例子是 Ember-Data,它使用状态管理器来跟踪记录可以具有的不同状态。
为了让生活更轻松并避免样板代码,Router最新版本的 EmberJS 中有一个实现,它仍然是一个正在进行的工作,每周更新一到两次。您可以在GitHub 下载上找到最新的内容。
Ember.RouterEmber.StateManager是负责提供基于 URL 的应用程序状态检测的子类。应用程序的实例Ember.Router在应用程序加载时检测浏览器 URL,并尝试将其与特定的应用程序状态进行匹配。此外,路由器将更新 URL 以反映应用程序状态随时间的变化。(Ember 源中的 JSDoc)
此外,由于Ember.RouterextendsEmber.StateManager和Ember.Routeextends Ember.State,它们是可以互换的。事实上,仅仅一天就提供了更多支持来支持状态和路由的混合,请参阅支持路由中的基本状态。
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |