7

我在理解 Ember 应用程序中控制器和路由之间的概念关系时遇到了一些麻烦。

我已经开始了一个非常简单的尖峰测试来评估 Ember,我越深入,我越是看到我的路线充满了我应该通过的应该是控制器的责任,例如动作,连接模型,并最终分派到视图以呈现模板。

控制器都是空的,似乎只是一些自动映射要求的占位符。

我是否在这里遗漏了一个基本的东西 - 从 Rails 的角度来看,并将“rails 方式”应用(可能是错误的)Ember 我希望我的路由定义由 URL 表示的状态,这将映射到控制器“动作”。

任何指针将不胜感激。

4

1 回答 1

2

模型类处理对象及其状态,而控制器处理应用程序本身的状态。

一个非常简单的用例可能是表单有两种状态:readonlyMode 和 modifyMode。这显然不属于定义实际对象的模型。它只是您的应用程序的一种状态。

如果控制器说状态是 readonlyMode,视图会将所有输入字段呈现为禁用。modifyMode 则相反。

但我同意决定把它放在哪里并不总是那么容易。最后,MVC 是关于概念的。不得不将其放入某种规则中,我会说:

  • 代表持久数据的所有内容(存储在某种存储/数据库中)通常是模型的一部分。
  • 所有有助于使您的应用程序有状态的东西 => 控制器。
于 2013-01-19T13:34:55.413 回答