![](/img/trans.png)
[英]What is the best practice to register routes based on permissions in Ember.js?
[英]Best practice regarding StateManager in Ember.js
Ember.js中的StateManager
还没有详细记录,所以我对它的用法有一些疑问。
.goToState
? save: -> StateManager.send("save")
。 这有意义还是我错过了什么? ViewState
建模,还是应该使用计算属性和视图属性仅在视图中保存该信息(没有状态管理器知道视图内部状态)?* * 一个示例可以是三步形式,其中相同的模板用于所有状态,但是在三个步骤中显示/隐藏不同的区域。
Github参考: https : //github.com/emberjs/ember.js/tree/master/packages/ember-states/lib
是否应该努力只从州经理内部调用.goToState?
大概。 我不确定这一点,但在我看来,因为国家经理知道你所处的状态,所以它是强制执行合法国家过渡的地方。 如果你从国家经理外面打电话给.goToState,你就是在没有真正知道自己处于什么状态的情况下这样做的,虽然这有时候可以(也许这是一个你可以从任何其他州获得的状态)但这不是一个好习惯将在。
我有时会发现自己在视图中的状态管理器中镜像方法,例如save: - > StateManager.send(“save”)。 这有意义还是我错过了什么?
我喜欢pangratz对此有何看法。
模型的所有修改(通常)是否应该通过州经理?
我使用状态图的方式,没有。 我已经看到一些人使用状态图作为控制器层的完全替代品,但是,如果这是你的工作方式,那么是的,它应该通过状态管理器。 模式是避免从视图中直接操纵模型; 无论是控制器层还是中间的状态管理器,对我来说都是一个没有实际意义的问题。
但是,我使用状态图表的方式是使状态管理器管理应用程序的状态。 如果修改将改变应用程序的状态(例如,如果在更新完成时有进度指示器),它可以扮演流量管理器来修改模型,但在我看来,模型更新不是其任务的一部分; 他们属于控制者。
如果一个视图具有不同的状态,是应该使用具有子状态的ViewState建模,还是应该使用计算属性和视图属性仅在视图中保存该信息(没有状态管理器知道视图内部状态)?
我认为州经理需要知道(或应该知道)观点的内部状态。
出于好奇,您是来自Web开发背景还是桌面/移动应用程序开发背景? 我来自网络开发,状态图表对我来说是一个新概念。 我发现阅读David Harel 的规范状态图表文件非常有用('ware PDF!)。 对于一篇学术论文而言,这是令人惊讶的可读性,并列出了自2010年底以来大部分SproutCore / Ember世界一直在使用的基本状态图表概念(也就是Michael Cohen写作Ki时的想法)。
关于你的观点2 :
我有时会发现自己在视图中的状态管理器中镜像方法,例如
save: -> StateManager.send("save")
。 这有意义还是我错过了什么?
您可以在Handlebars模板中使用action
助手,并将StateManager设置为target
{{action "send" target="App.stateManager"}}
send
事件将发送到您的App.stateManager
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.