我在理解Ember应用程序中控制器和路由之间的概念关系时遇到了一些麻烦。
我已经开始了一个非常简单的尖峰测试的路径来评估Ember,我越深入其中,我越是看到我的路线填满我应该是控制器的责任,例如操作,连接模型,最终调度到视图以呈现模板。
控制器都是空的,似乎只是一个占位符,用于某些自动映射要求。
我在这里错过了一个基本的东西 - 来自Rails的观点,并且(或者错误地)将“rails way”应用于Ember我期望我的路由定义由URL表示的状态,这将映射到控制器“动作”。
任何指针都会非常感激。
答案 0 :(得分:2)
当模型类处理对象及其状态时,控制器处理应用程序本身的状态。
一个非常简单的用例可能是表单有两种状态:readonlyMode和modifyMode。这显然不属于定义实际对象的模型。这只是您的申请状态。
如果控制器声明状态为readonlyMode,则视图将所有输入字段呈现为已禁用。与modifyMode相反。
但我同意并不总是很容易决定把它放在哪里。最后,MVC是关于概念的。不得不把它放到某种规则中,我会说: